java的输出语句问题(只有一句语句)

来源:百度知道 编辑:UC知道 时间:2024/05/20 06:21:40
请问为什么“\u096f”输出“?”而不是输出它本身呢,“\u096f”表示什么意思啊,能详细的说一下吗,万分感激
System.out.println("abc \u096f");

\u096f是unicode字符.Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。

其中Unicode字符范围在'\u0966' 到 '\u096F'的表示梵文数字.

其它的包含数字的Unicode字符范围还有:

'\u0030' 到 '\u0039',ISO-LATIN-1 数字('0' 到 '9')
'\u0660' 到 '\u0669',Arabic-Indic 数字
'\u06F0' 到 '\u06F9',扩展了的 Arabic-Indic 数字
'\uFF10' 到 '\uFF19',全形数字

在计算机内部字符串总是用内码来表示的. 一般计算机语言中的字符串编码时是与平台相关的, 而java中则采用了与平台无关的Unicode编码.

Java从一个byte流中读取一个字符串时,将把平台相关的byte转变为平台无关的Unicode字符串。在输出时Java将把Unicode字符串转变为平台相关的byte流,如果某个Unicode字符在某个平台上不存在,将会输出一个"?".

因为\u096f表示Unicode字符中的梵文的某个数字,而该Unicode字符在你的系统里并不存在,所以结果输出一个"?".

\u096f是java默认的?的符号。
如果想输入你的语句可以这样写,加上一个转译字符:
System.out.println("abc \\u096f");

unicode码