时间:2015-1-13来源:不详作者:佚名

问题1:假设我们知道汉字编码范围是0x4E00到0x9FA5,怎么从十六进制的编码转成人类可读的字呢?

问题2:怎么把unicode编码的字写入文件呢,如果直接用open()的话,会提示UnicodeEncodeError: 'ascii' codec

编程语言

can't encode character u'u4e00' in position 0: ordinal not in range(128)

问题1的答案是用unichr,问题2的答案是用codes。

下面上代码。

  1. importcodecs
  2. start,end=(0x4E00,0x9FA5)
  3. withcodecs.open("chinese.txt","wb",encoding="utf-8")asf:
  4. forcodepointinrange(int(start),int(end)):
  5. f.write(unichr(codepoint))

打开chinese.txt文件,截图如下


转载请注明原文网址:http://www.gzdatangtv.com/jsyy/jsyy/25.html
------分隔线----------------------------