python – 解码shift-jis:“非法多字节序列”

python – 解码shift-jis:“非法多字节序列”,第1张

概述我正在尝试解码shift-jis编码的字符串,如下所示: string.decode('shift-jis').encode('utf-8') 能够在我的程序中查看它. 当我遇到2个shift-jis字符时,在十六进制“0x87 0x54”和“0x87 0x55”中,我收到此错误: UnicodeDecodeError: 'shift_jis' codec can't decode bytes i 我正在尝试解码shift-jis编码的字符串,如下所示:
string.decode('shift-jis').encode('utf-8')

能够在我的程序中查看它.

当我遇到2个shift-jis字符时,在十六进制“0x87 0x54”和“0x87 0x55”中,我收到此错误:

UnicodeDecodeError: 'shift_jis' codec can't decode bytes in position 12-13: illegal multibyte sequence

但我确信它们是有效的shift-jis字符:http://www.rikai.com/library/kanjitables/kanji_codes.sjis.shtml

我还注意到这些字符在我的shift-jis文本编辑器中显示为黑盒子,这意味着它们无法被识别.因此,这两个字符有一些特殊之处,使我的编辑器和Python解码器失败.救命?

(抱歉,我无法发布示例字符串,因为当这些字符存在时,它不会从那里开始添加到剪贴板,也会自动转换为unicode.虽然我发布了它们的十六进制值.)

解决方法 存在多个版本的Shift JIS. shift_jis编解码器是 JIS X 0208,而该表是 JIS X 0213,对应于shift_jisx0213编解码器.
>>> u'⑲⑳Ⅰ'.encode('shift_jisx0213')'\x87R\x87S\x87T'
总结

以上是内存溢出为你收集整理的python – 解码shift-jis:“非法多字序列”全部内容,希望文章能够帮你解决python – 解码shift-jis:“非法多字节序列”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1207426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存