【发布时间】:2019-10-05 20:01:15
【问题描述】:
我正在尝试将ODIA LANGUAGE 用于项目。当我对 Odia 字符串进行编码,然后尝试对其进行解码时,出现错误。
b = "କାହିଁକି ଏଇଠି ଅଛୁ "
x = b.encode()
print(x)
m = x.decode()
print(m)
那么,对应的输出是:
b'\xe0\xac\x95\xe0\xac\xbe\xe0\xac\xb9\xe0\xac\xbf\xe0\xac\x81\xe0\xac\x95\xe0\xac\xbf \xe0\xac\x8f\xe0\xac\x87\xe0\xac\xa0\xe0\xac\xbf \xe0\xac\x85\xe0\xac\x9b\xe0\xad\x81 '
Traceback (most recent call last):
File "x:\Pythonxx36\Egod\expeppp.py", line 9, in <module>
print(m)
File "C:\ProgramData\Miniconda3\envs\pygpu\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-6: character maps to <undefined>
我没有提到任何encoding,因为我不确定utf-8、utf-7 或utf-32 是否可以编码Odia 语言。
但是在这里,编解码器直接转到cp1252.py,这里不应该有任何关系/(我不确定) \
所以我的问题是......
- 为什么相同的
encoded text在decoding期间会出错? -
cp1252.py是什么? - 如果Python Encodings都不支持
ODIA language,如何在python中创建新的编码?
资源:Odia unicode block
\问题1和2是最重要的,3是可选的/
【问题讨论】:
标签: python unicode character-encoding python-unicode