- 论坛徽章:
- 0
|
问题
1.插入ectDict后,值无法正确显示,例如Shell中ectDict['829F']的结果是'\xa4\xa1\n',ectDict['889F']的结果是'\x81\x84\n',不是原本字符(print正常),小弟明白这大约与字符集设定有关,不过不知其具体存储原理?
"不是原本字符(print正常)"
默认你采用GBK读取的数据,存储本来就是2个字符(\xa4\xa1)这样的字符; print,使用的本地字符编码,当然是print '\xa4\xa1' 就是正确的字符了. 除非你指定了Unicode字符.
2.值末尾的换行符\n有无简易方法(不使用正则)在读取文件时去除?
line= line[:-1]
3.如何以二进制“值”形式读写文件?即希望每一次读取的都是一个字节长度的数据然后存入变量,google一下得知似乎应该使用struck或者pack,但细节较少,不知应当如何操作?
这个不了解,pack的应该是一种方式; 看看Doc吧.
4.在Windows下读取notepad中使用'Unicode'编码保存的文本文件,发觉无法解析其字符集,但'utf-8'就可以(而且似乎是自动完成),utf-8本身不即是Unicode的一种存储方式么?为何会有如此差别?
utf-8保存的对于英文字符等单字符语言,是不会发生变化的,看看UTF-8规则就了解了,双字符的是出现问题的.
UTF-8是Unicode的一种表示方式;
发觉无法解析其字符集 ,需要进行Ansi到Unicode解码,才行; |
|