中文转unicode_中文转unicode编码软件
Python 编码转换与中文处理
Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用" 编码指示 "来修正一个 module 的定义中,如果.py文件中包含中文字符(严格的说是含有非anscii字符),则需要在行或第二行指定编码声明: # -- coding=utf-8 -- 或者 #coding=utf-8
中文转unicode_中文转unicode编码软件
中文转unicode_中文转unicode编码软件
其他的编码如:gbk、gb2312也可以;否则会出现:
先说一下python中的字符串类型,在python中有两种字符串类型,分别是 str 和 unicode ,他们都是basestring的派生类;
unicode 转为 gb2312,utf-8等,使用 encode(encoding)
utf-8,GBK转换为 unicode 使用 unicode(s,encoding) 或者 s.decode(encoding)
普通的 str 转为 unicode,
如果直接执行s.encode('gb2312')会发生什么?
这里会发生一个异常:Python 会自动的先将 s 解码为 unicode ,然后再编码成 gb2312。因为解码是python自动进行的,我们没有指明解码方式,python 就会使用 sys.defaultencoding 指明的方式来解码。很多情况下 sys.defaultencoding 是 ANSCII,如果 s 不是这个类型就会出错。
拿上面的情况来说,我的 sys.defaultencoding 是 anscii,而 s 的编码方式和文件的编码方式一致,是 utf8 的,所以出错了:
对于这种情况,我们有两种方法来改正错误:
s = '中文'
s.decode('utf-8').encode('gb2312') ```
import sys
reload(sys) # Python2.5 初始化后会删除 sys.setdefaultencoding 这个方法,我们需要重新载入
sys.setdefaultencoding('utf-8')
s'欢迎'tr = '中文'
str.encode('gb2312')
print open("Test.txt").read()
print open("Test.tFor i = 1 To kxt").read().decode("utf-8")
Traceback (most recent call last):
File "ChineseTest.py", line 3, in
print open("Test.txt").read().decode("utf-8")
UnicodeEncodeError: 'gbk' codec can't encode character u'ufeff' in ition 0: illegal multibyte sequence
data = open("Test.txt").read()
data = data[3:]
print data.decode("utf-8")
s = "中文"
print unicode(s, "utf-8")
Traceback (most recent call last):
File "ChineseTest.py", line 3, in
s = unicode(s, "utf-8")
UnicodeDecodeError: 'utf8' codec can't decode bytes in ition 0-1: invalid data
s = "中文"
s = "中文"
print unicode(s, "cp936")
怎样讲string转换成unicode,请高手来 Ja SE
Code = CLng("&H" + Hex(AscW(StrConv(ChrW(Code), vbFromUnicode)))):ja中字符串本python 中的 unicode 是让人很困惑、比较难以理解的问题. 这篇文章 写的比较好, utf-8是 unicode的一种实现方式,unicode、gbk、gb2312是编码字符集.来就是Unicode编码的,不用转换。如果要把含中文的文本内容转成Unicode编码值显示,可以用JDK自带的native2ascii命令。在JDK的bin目录下运行native2ascii.exe,输入中文文本回车就可以了。
unicode转码为中文,在iOS中怎么作
Code = Code1 256 + Code2声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。