判断其使用的是unicode编码还是gbk编码?
谢谢!
7 个解决方案
#1
如此冷清?
#2
有人!
但我不会这个问题
但我不会这个问题
#3
不会,帮你顶一下。不过我记得UNICODE文件的第一个字节是特别的,字符串的话不大清楚。
#4
我没用过其它语言的OS,所以只知道怎样判断中文还是英文的字符串。如果是unicode字符串,用type判断,type(s) == type(u'a'),如果是中文的,可以用unicode(s, 'mbcs')将它转换成unicode的字符串。mbcs表示multi-byte character set,所以我认为不管是日语,韩语还是简体或繁体的中文,它都能自动辨识,毕竟你输入的是当前操作系统默认的编码。
#5
用types模块
#6
to forlovepb:能解释清楚点儿吗?
#7
对于多字节编码的字符串,比如gb2312和big5,这些编码总有重叠的部分,也就是给你一个word值,在gb2312中可以对应一个字符,在big5也同样对应一个字符,当然这两个字符是不同的,因此你根本无法用程序来判断那个编码是你需要的。当然,如果给定字符串足够多的话,那其中总有某个word是某个编码特有的值,可以由此来识别是那种编码。
用过EmEditor这个编辑器的朋友,就应该能体会到这点
用过EmEditor这个编辑器的朋友,就应该能体会到这点
#1
如此冷清?
#2
有人!
但我不会这个问题
但我不会这个问题
#3
不会,帮你顶一下。不过我记得UNICODE文件的第一个字节是特别的,字符串的话不大清楚。
#4
我没用过其它语言的OS,所以只知道怎样判断中文还是英文的字符串。如果是unicode字符串,用type判断,type(s) == type(u'a'),如果是中文的,可以用unicode(s, 'mbcs')将它转换成unicode的字符串。mbcs表示multi-byte character set,所以我认为不管是日语,韩语还是简体或繁体的中文,它都能自动辨识,毕竟你输入的是当前操作系统默认的编码。
#5
用types模块
#6
to forlovepb:能解释清楚点儿吗?
#7
对于多字节编码的字符串,比如gb2312和big5,这些编码总有重叠的部分,也就是给你一个word值,在gb2312中可以对应一个字符,在big5也同样对应一个字符,当然这两个字符是不同的,因此你根本无法用程序来判断那个编码是你需要的。当然,如果给定字符串足够多的话,那其中总有某个word是某个编码特有的值,可以由此来识别是那种编码。
用过EmEditor这个编辑器的朋友,就应该能体会到这点
用过EmEditor这个编辑器的朋友,就应该能体会到这点