- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在 python 中读取一些以“euc-kr”编码的韩语文本文件,但出现了一些错误。在检查 encodings
模块一段时间后,我了解到该模块以看似非常奇怪的方式对韩语字符进行编码。我举个例子
韩语字符 탇 (这是一个很少使用的字符,但我需要这个作为发音词典)根据 EUC-KR 规范应该编码为 B5 6E (我提到了 this site )。但编码模块给了我一些不同的结果。
# python3
>> from encodings import euc_kr
>> euc_kr.codec.decode(b'\xB5\x6E')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'euc_kr' codec cant decode byte 0xb5 in position 0: illegal multibyte sequence
>> euc_kr.codec.encode('탙')
(b'\xa4\xd4\xa4\xbc\xa4\xbf\xa4\xbc', 1)
如您所见,当我尝试解码 B5 6E 时出现错误,并且 euc_kr.codec.encode
给出的字节比我预期的要长。我不知道那里发生了什么。在解码 B5 6E(以及许多其他韩语字符)时如何避免出现错误?是否有另一个关于 EUC-KR 规范的文档,我可以阅读它来了解 EUC-KR 的 python 实现如何工作?
最佳答案
看起来euc_kr
结果是某种分解。您可以尝试cp949
,根据Wikipedia :
The default Korean codepage for Windows (code page 949) is a proprietary, but upward compatible extension of EUC-KR...
一些实验:
>>> s = '탇'
>>> ud.name(s)
'HANGUL SYLLABLE TAD'
>>> s.encode('euc_kr')
b'\xa4\xd4\xa4\xbc\xa4\xbf\xa4\xa7'
>>> s.encode('euc_kr').decode('cp949')
'ㅤㅌㅏㄷ'
>>> for c in s.encode('euc_kr').decode('cp949'):
... print(ud.name(c))
...
HANGUL FILLER
HANGUL LETTER THIEUTH
HANGUL LETTER A
HANGUL LETTER TIKEUT
>>> s.encode('cp949').hex()
'b56e'
关于Python 使用 euc-kr 编码以意想不到的方式对(韩语)字符进行编码(编解码器、编码模块),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46769520/
我正在努力将NSString变量编码为Euc-kr类型... :( 我必须通信的数据库服务器基于Euc-kr,因此我别无选择。 最佳答案 上面的答案几乎是正确的,但是由于EUC-KR不是NSStrin
我遇到了这个 KR 练习 1-10: Write a program to copy its input to its output, replace each tab by \t, each bac
我有一个 Python 脚本,它根据发布的答案取消缩短 URL here .到目前为止,它运行良好,例如,youtu.be、goo.gl、t.co、bit.ly 和 tinyurl.com。但现在我注
我正在编写一些代码来解析使用 euc-kr 韩语编码器编码的服务器中的韩语文本。 当我在 Python 中进行相同的编码时,它会按预期工作。但是当我按照以下方式执行时,编码不起作用。结果是不可读的。
我正在尝试为加密货币交换编写一个 Python 包装器。 #!/usr/bin/python2.7 import hashlib import hmac import time base_url =
我尝试在 python 中读取一些以“euc-kr”编码的韩语文本文件,但出现了一些错误。在检查 encodings 模块一段时间后,我了解到该模块以看似非常奇怪的方式对韩语字符进行编码。我举个例子
当我构建我的 WPF 项目时,它会创建几个语言文件夹,每个文件夹都包含“Microsoft.Expression.Interactions.resources.dll”。 奇怪的是,我从未将我的资源字
我是一名优秀的程序员,十分优秀!