何时使用Unicode(除了非unicode!)

Kha*_*ski 3 unicode non-unicode

我没有找到关于何时使用Unicode的更多(简明)信息.我知道很多人说最佳实践是始终使用Unicode.但是Unicode字符串DO具有更多的内存占用.我是否正确地说,只有必须使用Unicode 时

  • 将内容打印到除本地以外的屏幕(例如调试)使用.
  • 通常,通过网络发送任何类型的文本,其中两端位于不同的区域/国家/地区
  • 当你不确定使用哪个时

我认为,如果有人解释 Unicode实际发生的基础知识(简洁),这将是有益的...我是正确的说,在以下情况下事情变得混乱:

  • 物理(字节)字符串使用不同于发件人的字符串表示(代码页,其他...这已经是详细的,虽然有趣)发送到机器.

上下文在编程语言中使用Unicode(比如C++),但我希望这个问题的答案可以用于任何编码情况.
另外,我知道Unicode和NLS不是一回事,但说NLS意味着使用Unicode是否正确?

PS真棒网站

Joa*_*uer 5

总是使用Unicode,它会为你和其他人带来很多痛苦.

您可能感到困惑的是编码问题.Unicode字符串并不一定需要比同等ASCII(或其他编码)字符串,这在很大程度上取决于使用的编码方式更多的内存.

有时 "Unicode"用作"UCS-2"或" UTF-16 " 的同义词.严格来说使用是错误的,因为"Unicode"是定义字符集及其unicode代码点的标准.它作为这样定义一个映射到字节(或字).UTF-16,UTF-8和其他编码接管将字符映射到具体字节的工作.