我正在我的公司里进行关于Unicode和编码的技术讨论,其中我试图指出strings are always encoded,并且开发人员不应该粗心地假设所有内容都是0-127 ASCII。 / p>
我有很多由错误编码的文本引起的问题的例子,但我没有找到任何简单的英文文本示例,其中的数字编码在Unicode code point 127之上。
基本英文字母在Unicode中映射到与普通旧ASCII相同的数值:范围A-Z
映射到[65-90]
(或十六进制为[0x41-0x5a]
),{ {1}}已映射到[a-z]
(十六进制[97-122]
)。
英文字母是否出现在代码表的其他位置?我的意思并不是circumflex letters or other Latin variants,只是简单的英文字母。
答案 0 :(得分:5)
CJK字符在所有字体中通常都是等宽字符,因为这就是这些语言的编写方式。
但是,当混合使用CJK和英文字符时,会遇到一个问题:ASCII字符通常不具有CJK字符的宽度。这意味着如果使用ASCII,则会丢失等宽属性 - 这可能并不总是可取的。
为此,可以使用全角字符(U + FF00-FFEE,Wikipedia,Unicode code chart)代替“常规”字符。它们具有与单个CJK字符具有相同宽度的属性。
但是,请注意,全局字符实际上从未在CJK上下文之外使用,即使在这些上下文中,也常常使用纯ASCII,因为单调制被认为是不重要的。
答案 1 :(得分:3)
大量标点符号和符号的代码点值高于U + 007F:
- “你好”。
- 他获得了全面的六十四个蜡笔Crayola盒子 - 包括金色和银色蜡笔 - 并且不让我看。
- x≠y
以上示例使用:
有关详情,请参阅Unicode charts。
答案 2 :(得分:2)
好吧,如果你的意思是a-z
和A-Z
,那么就不会有127以上的英文字符。但像fiancé
,resumé
等字词有时拼写为用英语表示并使用127以上的代码点。
然后有各种标点符号,货币符号等大于127.不确定这是否算作简单的英文文本。