Python decode和encode详解与乱码恢复

在解压一些来自日本作者的压缩包时,经常出现文件名乱码的情况,例如枹棃偪傖傫僆僔僆僉PSD。通常情况,我们修改解压缩软件的默认代码页语言为日语自动检测即可解决。但在批量解压缩时,并不是所有压缩包代码页语言都是日语,所以只能设置为自动检测,但是很多时候自动检测也会失效。

本应使用Shift_Jis进行解码,而错用GBK解码,就会产生枹棃偪傖傫僆僔僆僉PSD这类乱码。

下面是使用Python模拟这种乱码产生的过程

>>> text="未来ちゃんオシオキPSD"
>>> text_sj=text.encode("Shift_Jis")
>>> text_sj
b'\x96\xa2\x97\x88\x82\xbf\x82\xe1\x82\xf1\x83I\x83V\x83I\x83LPSD'
>>> text_gbk=text_sj.decode('gbk') 
>>> text_gbk
'枹棃偪傖傫僆僔僆僉PSD'

知道了产生的原因,恢复它就很简单了

>>> text="枹棃偪傖傫僆僔僆僉PSD"
>>> text_true=text.encode("gbk").decode('Shift_Jis')
>>> text_true
'未来ちゃんオシオキPSD'
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇