Unicode和Ascii字符相同吗?

Unicode和Ascii字符相同吗?,unicode,ascii,Unicode,Ascii,unicode字符码到底是什么?它们与ascii字符有何不同?Unicode是一种将唯一数字(称为代码点)分配给当今几乎所有活跃使用的语言的字符以及许多其他字符(如数学符号)的方法。有许多方法可以将Unicode字符串编码为字节,例如和 ASCII仅为128个字符(a-z、a-z、0-9、空格、一些标点符号和一些控制字符)赋值 对于每个具有ASCII值的字符,该字符的Unicode代码点和ASCII值都是相同的 在大多数现代应用程序中,您应该更喜欢使用Unicode字符串,而不是ASCII字符串

unicode字符码到底是什么?它们与ascii字符有何不同?

Unicode是一种将唯一数字(称为代码点)分配给当今几乎所有活跃使用的语言的字符以及许多其他字符(如数学符号)的方法。有许多方法可以将Unicode字符串编码为字节,例如和

ASCII仅为128个字符(a-z、a-z、0-9、空格、一些标点符号和一些控制字符)赋值

对于每个具有ASCII值的字符,该字符的Unicode代码点和ASCII值都是相同的

在大多数现代应用程序中,您应该更喜欢使用Unicode字符串,而不是ASCII字符串。例如,这将允许用户在其姓名或地址中使用重音字符,并将界面本地化为英语以外的语言。

前128个代码点与ASCII相同。然后他们有10万左右


Unicode有两种常见格式,每个值使用1-4个字节(因此对于前128个字符,UTF-8与ASCII完全相同),UTF-16使用2或4个字节。

但如何使用Unicode字符?我可以简单地通过将字符转换为整数来使用ascii字符,但我可以对unicode字符执行相同的操作吗?@Ghost:不清楚为什么需要将字符转换为整数。你想做什么?我想说的是,为了得到字符的ascii值,我需要对它进行类型转换:char a='a';int b=(int)a//ascii值a@Ghost:您刚刚发布的代码提供了字符的Unicode代码点。这与具有ASCII值的字符的ASCII值相同。很少有人真正需要关心特定字符的确切代码点值。@MarkByers:小心,这取决于编程语言。有一些使用UTF-16作为内部表示,因此转换为int可能只会得到代理项对的一半。