看起来您是在正确的轨道上,但是您被误导了,所有的Unicode问题都是在python2.x中解决的
在python2.x中,stdin(包括raw_input())不会自动解码。这与stdout不同,stdout在输出时对unicode进行编码。在
从stdin源读取时,必须将其从字节字符串解码为Unicode。在
显然,您需要知道解码使用什么编码。Python使用用户的语言环境进行输出编码,同样的语言环境也可以手动用于输入解码。在
例如my_unicode = raw_input().decode(locale.getpreferredencoding())
locale.getpreferredencoding()是最好的编码源,因为当Python没有终端时,sys.stdin.encoding被设置为None。一、 e.配管时:
^{pr2}$
在Python3中,输入被解码为Python3/Unicode字符串,输出被编码。这依赖于用户具有健康的区域设置并设置为与终端模拟匹配。在
其他语言:
爪哇
Java的String()总是经过解码的字节。Stdin和stdout是自动解码/编码的。文件和网络输入的输入流是字节流,需要逐字节解码或使用文本包装器(如读卡器)进行解码。读卡器可以使用系统编码,也可以定义为属性。Java有一个系统属性/命令行参数-Dfile.encoding,它可以覆盖Java的观点。在
菲律宾比索
AFAIK,PHP只有字节字符串。许多方法假定iso-8995-1/拉丁语。有很多多字节方法,它们可以理解UTF-8编码。在