我知道这是习惯,但是为什么呢?是否存在真正的技术原因,为什么任何其他方式都不是一个好主意,还是仅基于编码和向后兼容的历史?另外,不使用UTF-8,而是使用其他一些编码(最值得注意的是UTF-16)有什么危险?
UTF-8
UTF-16
编辑:通过交互,我主要是指shell和libc。
shell
libc
部分原因是文件系统期望NUL(’\ 0’)字节终止文件名,因此UTF-16不能很好地工作。您必须修改很多代码才能进行更改。