我正在尝试在读取文件的循环中解码日语字符串shift-jis
。
它可以工作,但是当它包含像“①”这样的带圆圈的数字字符时,我收到以下错误:
UnicodeDecodeError:“shift_jis”编解码器无法解码位置 24-25 中的字节:非法多字节序列
部分代码:
def read_short(data):
return unpack('>h', data.read(2))[0]
def read_string(data):
length = read_short(data)
return unpack(str(length) + 's', data.read(length))[0].decode('shift-jis')
test = read_string(data)
是否有日本编解码器能够读取这种类型的字符,还是我必须事先找到转换它的方法?