【发布时间】:2014-07-02 18:56:59
【问题描述】:
Unicode 很棒。不同意这一点的人并不多。
除了 Python 3 (which did it wrong),所有默认使用 Unicode/UTF-8 字符串的所有编程语言的下一个主要版本会有什么负面影响(如果有的话)?
我专门讨论了许多需要变通办法才能获得 UTF-8 的情况。例如,运行一个 Java 程序:
java ... -Dfile.encoding=UTF-8
或者在 Python 2 中使用字符串:
# -*- coding: utf8 -*-
...
unicode_string = u"This is Unicode Text"
某些 MySQL 数据库默认使用不同的字符编码:
[server]
collation_server=utf8_unicode_ci
character_set_server=utf8
等等。等等。
为什么我们不都默认使用 Unicode/UTF-8 并允许用户在需要支持其他字符编码时使用变通方法?这样做会有什么问题?
【问题讨论】:
-
为什么不添加二进制文件==文本文件的unicode约定?你已经要求进行疯狂的猜测了。
-
我不确定你在问什么,但我不是在处理原始字节和二进制数据,我是在专门谈论文本字符串。如果有人想做原始的二进制文件,请使用 Java 的
byte类或 C 的char,它们绝对应该不是 Unicode。