PDA

View Full Version : _wstat su Linux


71104
16-05-2007, 14:55
su Linux vedo che esiste un header wchar.h ma ho visto che importa molte meno funzioni rispetto alla versione Windows del MinGW... una che manca è la _wstat: esiste su Linux? e la wopendir? in generale, è possibile su Linux dare a files e cartelle nomi contenenti caratteri non ASCII, purché ovviamente il filesystem li supporti?

andbin
16-05-2007, 16:07
su Linux vedo che esiste un header wchar.h ma ho visto che importa molte meno funzioni rispetto alla versione Windows del MinGW... una che manca è la _wstat: esiste su Linux? e la wopendir? in generale, è possibile su Linux dare a files e cartelle nomi contenenti caratteri non ASCII, purché ovviamente il filesystem li supporti?Prova a leggere <qui> (http://hektor.umcs.lublin.pl/~mikosmul/computing/articles/linux-unicode.html) (sezione "Converting filesystems"). Da quanto ho capito io, non c'è un vero e proprio supporto dell'Unicode a livello del file-system ma piuttosto c'è solo la possibilità di gestire un determinato file-system (es. ISO9660 per i CD) facendo una conversione in un charset/encoding specifico (es. iso8859-1 oppure utf-8).

71104
17-05-2007, 14:43
Prova a leggere <qui> (http://hektor.umcs.lublin.pl/~mikosmul/computing/articles/linux-unicode.html) (sezione "Converting filesystems"). Da quanto ho capito io, non c'è un vero e proprio supporto dell'Unicode a livello del file-system ma piuttosto c'è solo la possibilità di gestire un determinato file-system (es. ISO9660 per i CD) facendo una conversione in un charset/encoding specifico (es. iso8859-1 oppure utf-8). be' ma su Linux esistono pure filesystems che supportano Unicode, no? :wtf: c'è LinuxNTFS... come si comporta Linux se in un filesystem NTFS ci trova dei nomi che non possono essere espressi in ASCII (per es. caratteri giapponesi)? la readdir normale cosa ritorna...? :wtf:

71104
17-05-2007, 16:03
ma fammi capire se ho capito bene: UTF-8 sarebbe una codifica percui:
* tutti i caratteri del set ASCII standard (da 0 a 0x7F inclusi) sono codificati così come sono in un byte singolo
* un byte il cui valore sia >= 0x80 rappresenta all'interno della stringa un carattere speciale il cui valore è determinato da quel byte e anche dal successivo (cioè è codificato con due bytes)

giust? e questo praticamente sarebbe il motivo percui ogni tanto nelle emails i caratteri accentati li leggo come coppie di caratteri strani? perché il client di chi ha mandato la mail ha sbagliato la codifica dichiarando ASCII anziché UTF-8?

andbin
17-05-2007, 16:38
ma fammi capire se ho capito bene: UTF-8 sarebbe una codifica percui:
* tutti i caratteri del set ASCII standard (da 0 a 0x7F inclusi) sono codificati così come sono in un byte singolo
* un byte il cui valore sia >= 0x80 rappresenta all'interno della stringa un carattere speciale il cui valore è determinato da quel byte e anche dal successivo (cioè è codificato con due bytes)UTF-8 consente di codificare 1 carattere Unicode come una sequenza di byte che varia da 1 fino a 6 byte.
La sequenza è ben spiegata <qui> (http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8).

giust? e questo praticamente sarebbe il motivo percui ogni tanto nelle emails i caratteri accentati li leggo come coppie di caratteri strani? perché il client di chi ha mandato la mail ha sbagliato la codifica dichiarando ASCII anziché UTF-8?Nelle email il charset dovrebbe essere sempre codificato tramite un header apposito, ad esempio:

Content-Type: text/plain; charset=iso-8859-1

Se però venisse omesso (per qualunque motivo buono o cattivo :p ) e il testo magari è in utf-8 ... beh, qualche casino c'è di sicuro!

71104
17-05-2007, 16:50
UTF-8 consente di codificare 1 carattere Unicode come una sequenza di byte che varia da 1 fino a 6 byte.
La sequenza è ben spiegata <qui> (http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8). ottimo link! ero andato a cercare informazioni sull'UTF-8 in un altro link che mi avevi postato qualche giorno fa (chissà perché ultimamente finisci per parlare sempre di Unicode su questo forum :D e ogni volta posti link diversi, ma che hai la riserva? :D) ma che non avevo avuto tempo di leggere approfonditamente. ma una FACK ( :asd: ) esaustiva mi serviva proprio! thx.

71104
17-05-2007, 16:51
FACK ovviamente vuol dire Frequently Asked CKuestions.