Unicode是一种为几乎所有使用中的语言(以及许多其他字符,如数学符号)分配唯一数字(称为代码点)的方法。有许多将Unicode字符串编码为字节的方法,例如UTF-8和UTF-16。 ASCII仅为128个字符(a-z、A-Z、0-9、空格、一些标点符号和一些控制字符)分配值。 对于每个具有ASCII值的字符,其Unicode代码点和ASCII值相同。 在大多数现代应用程序中,您应该优先使用Unicode字符串而不是ASCII。这可以让您拥有带有重音字符的用户名或地址的用户,并将界面本地化到英语以外的语言。
前128个Unicode编码和ASCII相同,之后还有大约100,000个编码。 Unicode有两种常见的格式:UTF-8使用1-4个字节表示每个值(因此对于前128个字符,UTF-8与ASCII完全相同),而UTF-16则使用2或4个字节。