这条线是一条西班牙弦:美国
它应该是一个è(波浪号),但由于某种原因我得到了。在
我也研究过在Python中使用.decode和.encode()方法,但是没有任何东西能提供我想要的输出。在
用颚化符将这个字符转换成正确的“e”的最佳方法是什么?在
有道理吗?我能把“从”改为“吗??在
我在一个文件中运行了一个hextump,其中包含了Am?rica,这是我发现的:
(env)bvh331-apvpsv01:active admin$ hexdump test.txt
0000000 41 6d ef bf bd 72 69 63 61 0a
000000a
我还运行了一个文件-I来获取字符集:
^{pr2}$
根据the wikipedia article on SubRip:
但是,在CP-1252:
因此,假设您从一个较大的文件中摘录了此内容,该文件以表示其编码的BOM(字节顺序标记)开头,但丢弃了该BOM(以及编码信息)。作为一种替代理论,原始文件(以及生成和读取它的软件)可能只是不符合SubRip标准,或者是为了与非Unicode字体集的硬件一起使用而生成的。在
序列“ef-bf-bd”是U+FFFD(替换字符)的UTF-8,也就是说,一个特殊的代码,显示为“¨”,如您的问题中所述。因此,有些东西(Python?)必须用此代码替换原始字符。所以你的终端看起来没问题。在
UTF-8中的“é”字符U+00E9(带锐音符的拉丁文小写字母E)将改为“c3a9”。在
可以想象,您的原始字幕可能被编码为CP1252,其中“e”由代码0xe9表示。由于下一个字节是0x72('r'),解析器可能将0xe9解释为不完整的UTF-8序列,因此将“e9”替换为“ef bf bd”(替换字符)。在
相关问题 更多 >
编程相关推荐