- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当您有错误解码的字符时,您如何识别原始字符串的可能候选者?
Ä×èÈÄÄî▒è¤ô_üiâAâjâüâpâXüj_10òb.png
我知道这个图像文件名应该是一些日文字符。但是由于对 urllib 引用/取消引用、编码和解码 iso8859-1、utf8 的各种猜测,我无法取消并获取原始文件名。
腐败是可逆的吗?
最佳答案
您可以使用 chardet(使用 pip 安装):
import chardet
your_str = "Ä×èÈÄÄî▒è¤ô_üiâAâjâüâpâXüj_10òb"
detected_encoding = chardet.detect(your_str)["encoding"]
try:
correct_str = your_str.decode(detected_encoding)
except UnicodeDecodeError:
print("Could not estimate encoding")
结果:时间试験観点(アニミパス)_10秒(不知道这是否正确)
对于 Python 3(编码为 utf8 的源文件):
import chardet
import codecs
falsely_decoded_str = "Ä×èÈÄÄî¦è¤ô_üiâAâjâüâpâXüj_10òb"
try:
encoded_str = falsely_decoded_str.encode("cp850")
except UnicodeEncodeError:
print("could not encode falsely decoded string")
encoded_str = None
if encoded_str:
detected_encoding = chardet.detect(encoded_str)["encoding"]
try:
correct_str = encoded_str.decode(detected_encoding)
except UnicodeEncodeError:
print("could not decode encoded_str as %s" % detected_encoding)
with codecs.open("output.txt", "w", "utf-8-sig") as out:
out.write(correct_str)
总结:
>>> s = 'Ä×èÈÄÄî▒è¤ô_üiâAâjâüâpâXüj_10òb.png'
>>> s.encode('cp850').decode('shift-jis')
'時間試験観点(アニメパス)_10秒.png'
关于python - 未烘烤的mojibake,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24140497/
我希望这不是一个太具体的问题...任何想法都值得赞赏。 当有人填写我的联系表单(UTF-8 编码)时,数据会正确进入 MySQL 数据库(全程 UTF-8 编码),并且回复电子邮件会发送给填写表单的人
使用 react-native v0.31.0在 iOS (目前在 iOS9 和 iOS10 上)。 我在 中有一个非拉丁文本Component有时我会这样看: 但它实际上应该是这样的: 我的绕行是
#include "StdAfx.h" #include #include #include "mysql_connection.h" #include #include #include
在《辛普森一家》第 12 季第 7 集“The Great Money Caper”中,几年前我注意到俄罗斯飞船上的“胡言乱语”标志。今天随机,我决定搜索看看是否有人解码了它们但找不到任何结果。 我怀
Mojibake问题 [我使用netbeans - jsf 2.2 - primefaces 4.0 - Mysql数据库] 我在 JSF 应用程序中使用阿拉伯语,不幸的是,阿拉伯语值作为其他字符发送
我有一个用 Perl 和 MySQL 编写的基于 Web 的项目。我们使用模板工具包来呈现 HTML 页面。我们在 DBI 类上编写了一个自定义包装器来与 MySQL 交互。 由于这是一个遗留项目,我
我有以下 index.jsp: 和属性文件 messages_ru_RU.properties: login = Логин 问题是我在输出中得到了
我正在使用 mutagen 读取 mojibaked ID3 标签。我的目标是在学习编码和 Python 对其处理的同时修复 mojibake。 我正在处理的文件有一个 ID3v2 标签,我正在查看它
我想使用 HTTPServletResponse 从 servlet 向客户端发送阿拉伯语数据 我正在尝试这个 response.setCharacterEncoding("UTF-8"); resp
我是一名优秀的程序员,十分优秀!