当我尝试在记事本中保存带有非英语文本的文本文件时,我可以选择在Unicode、Unicode Big Endian和UTF-8之间进行选择。这些格式有什么区别?
假设我不想要任何向后兼容性(与较旧的操作系统版本或应用程序)并且我不关心文件大小,这些格式中哪种更好?
(假设除了其他语言之外,文本还可以是中文或日文等语言。)
注意:从下面的答案和评论看来,在记事本行话中,Unicode 是 UTF-16(Little Endian),Unicode Big Endian 是 UTF-16(Big Endian),而 UTF-8 是 UTF-8。
UNICODE 对一个字符使用 2 个字节,因此它有或大或小的 endian 差异。例如,字符 ? 是54 C8十六进制的。因此它的 UTF-8 是:
11100101 10010011 10001000
Run Code Online (Sandbox Code Playgroud)
UTF-8 使用 3 个字节来表示相同的字符,但它没有大端或小端。为什么?
...什么时候Unix是小端?
从Wikipedia来看,Solaris 在某种意义上是基于 Unix 的:
1987 年,AT&T 和 Sun 宣布他们正在合作进行一个项目,以合并当时市场上最流行的 Unix 变体:BSD、System V 和 Xenix。这成为 Unix System V Release 4 (SVR4)。
1991 年 9 月 4 日,Sun 宣布它将用基于 SVR4 的 Unix 替换现有的 BSD 派生 Unix,即 SunOS 4。这在内部被确定为 SunOS 5,但同时引入了一个新的营销名称:Solaris 2。