在 Python 中将字符串解码为日语字符

Decoding string to Japanese character in Python

我正在通过 https://github.com/python-amazon-mws/python-amazon-mws 从 MWS Amazon 获取一份报告。但是该报告在从日本市场获取报告时出现问题我有一些带有日文字符的 SKU,当我获取和过滤时我会得到类似的 SKU ライトニングvtz-1843_MG 代替 ライトニングvtz-1843_MG

我觉得我做错了 encoding/decoding 请帮忙。

report_data = reportsApi.get_report(report_id=report_id)
response = report_data.original
lines = response.decode("utf-8", "ignore").split("\n")

for line in lines:
    report_data = str(line).split("\t")
    sku = report_data[0].strip()
    print(sku)

对于 python 2 :

>>> a = 'ライトニングvtz-1843_MG'
>>> from HTMLParser import HTMLParser
>>> HTMLParser().unescape( a )
u'\u30e9\u30a4\u30c8\u30cb\u30f3\u30b0vtz-1843_MG'
>>> print HTMLParser().unescape( a )
ライトニングvtz-1843_MG

对于 python 3 :

>>> a = 'ライトニングvtz-1843_MG'
>>> import html
>>> html.unescape( a )
'ライトニングvtz-1843_MG'

也许 python 版本不准确,但我无法在 python 2 中 import html,所以它可能在某些时候发生了变化,但不确定在哪里。但在你的情况下,其中一种方法应该有效(或者两种方法都有效,如果你幸运的话=)