各位大佬好,请教一个问题,我有一个源文件是 gbk 编码的,现在要修改其中的内容。内容是有规范的,比如第一位到第三位是序号。但是这个站位是按照字节来算,比如中文字符算 2 位,英文字符算 1 位,我把文件内容当成字符串读到文件之后,这个字符站位默认都是一位,所以我无法按照规范定位到应该修改的位置。
想了半天查了很多资料,好像相关问题的资料很少,求各位大佬帮帮忙。
1
vinceguo 2019-06-05 17:37:59 +08:00 via Android 1
读取文件的时候指定编码,试试
fp = open('xxx.txt', encoding='gb18030') |
2
ysc3839 2019-06-05 17:40:48 +08:00 via Android 1
你需要计算的时候把 string encode 成 gbk bytes 再算长度就行了。
|
4
ps1aniuge 2019-06-06 12:54:48 +08:00
用 powershell 没有这样的问题,或者说可以避过。
中英文长度都是 1 字符,不按字节统计。 |