La codificación Unicode utilizada no está basada en el sistema operativo.
Incluso Windows notepad.exe tiene opciones enumeradas: (pondré entre paréntesis lo que el bloc de notas quiere decir con eso) ANSI (no unicode), Unicode (el bloc de notas significa Unicode LE), Unicode Big Endian (BE), UTF-8
ANSI no es unicode, involucra un número muy limitado de caracteres, así que dejemos eso de lado.
Pero ver incluso el bloc de notas puede hacer LE, BE o UTF-8
Y aparte del bloc de notas, UTF-8 puede ser con o sin una lista de materiales.
Y uso Windows con Cygwin, aunque los puertos de Windows pueden funcionar \ r \ n incluso cuando especifique \ n. He visto sed hacer eso.
No hay una sola regla sobre qué codificación Unicode utiliza un SO en particular. No sería un sistema operativo muy flexible si lo hubiera.
Para ver realmente las diferencias, conozca el Software, qué codifica u ofrece un software.
Obtenga Cygwin y xxd, y / o un editor hexadecimal y observe lo que realmente hay dentro del archivo. Use el comando 'archivo' para ayudar a identificar un archivo. Entonces realmente ves lo que es UTF 16bit LE. Qué es UTF 16bit BE. Qué es UTF-8 (y UTF-8 puede ser con o sin una lista de materiales).
A veces puede decirle al bloc de notas que se guarde como unicode (por lo que el bloc de notas significa unicode little endian de 16 bits), y no lo hará. Pero elija una fuente Unicode como Arial Unicode, y copie algunos caracteres Unicode de Charmap y lo hará ... Y una buena manera de ver qué bloc de notas o cualquier software está haciendo, es mirando el hexadecimal de un archivo
C:\asdf>notepad.exe a.a
C:\asdf>file a.a
a.a; Little-endian UTF-16 Unicode text, with no line terminators
C:\asdf>type a.a
aaa慡ൡ <-- though displayed aaa followed by some boxes in my cmd window
C:\asdf>
C:\asdf>xxd a.a
0000000: fffe 6100 6100 6100 6161 610d ..a.a.a.aaa.
C:\asdf>
^^ The portion of the byte that stores the 61 is the lower value portion which with LE is stored first.
El comando dd (un comando * nix que ejecuto desde cygwin dentro de windows) puede cambiarlo
C:\asdf>xxd -p a.a
fffe6100610061006161610d
C:\asdf>file a.a
a.a; Little-endian UTF-16 Unicode text, with no line terminators
C:\asdf>dd if=a.a conv=swab of=a.a2
0+1 records in
0+1 records out
12 bytes (12 B) copied, 0 seconds, Infinity B/s
C:\asdf>type a.a2
a a a aaa
C:\asdf>xxd -p a.a2
feff00610061006161610d61
C:\asdf>file a.a2
a.a2; Big-endian UTF-16 Unicode text, with no line terminators
C:\asdf>
Y el bloc de notas en sí puede guardar como UTF-16 Big Endian o UTF-16 Little Endian o UTF-8
Si eres una persona técnica o incluso un usuario de bloc de notas, ¡no estás obligado a una codificación debido a tu sistema operativo!
Supongo que UTF-8 tiene más sentido que UTF-16, UTF-16 usaría 16 bits incluso para caracteres que solo deberían necesitar 8 bits. Sin embargo, también tenga en cuenta que charmap muestra el código UTF-16.
Sublime (un editor de texto de Windows) guarda unicode como UTF-8 de forma predeterminada.
Yo uso Windows y, a veces, Unicode, y estoy usando UTF-8 principalmente.
Y como Windows es tan técnicamente flexible, ¡Linux es al menos tan técnicamente flexible!