2024-09-27 21:27:48 发布
网友
嗨,我已经导出了一个outlookcontacts csv文件并将其加载到pythonshell中。在
我有一些欧洲名字在名单上,下面举例
tmp = 'Fern\xc3\x9fndez' tmp.encode("latin-1")
导致错误
同时
tmp.decode('latin-1')
给了我
u'Fern\xc3\x9fndez'
如何使文本读作Fernandez?(不太担心口音,但很高兴有这些口音)
Fernandez
您必须使用Python 2.x。以下是打印字符的一种方法(取决于您使用的编码):
>>> tmp = 'Fern\xc3\x9fndez' >>> print tmp.decode('utf-8') # print formats the string for stdout Fernßndez >>> print tmp.decode('latin1') FernÃndez
你确定你有合适的角色吗?是utf-8吗?还有另一种方式:
有趣。所以这些选择都不适合你?顺便说一句,我在其他一些编码中运行字符串,只是想看看其中是否有一个字符更符合我的预期。不幸的是,我看不出有什么是正确的:
>>> for encoding in ['ascii', 'big5', 'big5hkscs', 'cp037', 'cp424', 'cp437', 'cp500', 'cp737', 'cp775', 'cp850', 'cp852', 'cp855', 'cp856', 'cp857', 'cp860', 'cp861', 'cp862', 'cp863', 'cp864', 'cp865', 'cp866', 'cp869', 'cp874', 'cp875', 'cp932', 'cp949', 'cp950', 'cp1006', 'cp1026', 'cp1140', 'cp1250', 'cp1251', 'cp1252', 'cp1253', 'cp1254', 'cp1255', 'cp1256', 'cp1257', 'cp1258', 'euc_jp', 'euc_jis_2004', 'euc_jisx0213', 'euc_kr', 'gb2312', 'gbk', 'gb18030', 'hz', 'iso2022_jp', 'iso2022_jp_1', 'iso2022_jp_2', 'iso2022_jp_2004', 'iso2022_jp_3', 'iso2022_jp_ext', 'iso2022_kr', 'latin_1', 'iso8859_2', 'iso8859_3', 'iso8859_4', 'iso8859_5', 'iso8859_6', 'iso8859_7', 'iso8859_8', 'iso8859_9', 'iso8859_10', 'iso8859_13', 'iso8859_14', 'iso8859_15', 'johab', 'koi8_r', 'koi8_u', 'mac_cyrillic', 'mac_greek', 'mac_iceland', 'mac_latin2', 'mac_roman', 'mac_turkish', 'ptcp154', 'shift_jis', 'shift_jis_2004', 'shift_jisx0213', 'utf_16', 'utf_16_be', 'utf_16_le', 'utf_7', 'utf_8']: try: print encoding + ': ' + tmp.decode(encoding) except: pass cp037: ãÁÊ>C¤>ÀÁ: cp437: Fern├ƒndez cp500: ãÁÊ>C¤>ÀÁ: cp737: Fern├θndez cp775: Fern├¤ndez cp850: Fern├ƒndez cp852: Fern├čndez cp855: Fern├Ъndez cp857: Fern├şndez cp860: Fern├Óndez cp861: Fern├ƒndez cp862: Fern├ƒndez cp863: Fern├ƒndez cp865: Fern├ƒndez cp866: Fern├Яndez cp869: Fern├ίndez cp875: ΖΧΈ>Cμ>ΦΧ: cp932: Fernテ殤dez cp949: Fern횩ndez cp1006: Fernﺣndez cp1026: ãÁÊ>C¤>ÀÁ: cp1140: ãÁÊ>C€>ÀÁ: cp1250: FernĂźndez cp1251: FernГџndez cp1252: Fernßndez cp1254: Fernßndez cp1256: Fernأںndez cp1258: FernĂŸndez gbk: Fern脽ndez gb18030: Fern脽ndez latin_1: FernÃndez iso8859_2: FernĂndez iso8859_4: FernÃndez iso8859_5: FernУndez iso8859_6: Fernأndez iso8859_7: FernΓndez iso8859_9: FernÃndez iso8859_10: FernÃndez iso8859_13: FernĆndez iso8859_14: FernÃndez iso8859_15: FernÃndez koi8_r: Fernц÷ndez koi8_u: Fernц÷ndez mac_cyrillic: Fern√Яndez mac_greek: FernΟündez mac_iceland: Fern√ündez mac_latin2: Fern√ündez mac_roman: Fern√ündez mac_turkish: Fern√ündez ptcp154: FernГҹndez shift_jis: Fernテ殤dez shift_jis_2004: Fernテ殤dez shift_jisx0213: Fernテ殤dez utf_16: 敆湲鿃摮穥 utf_16_be: 䙥牮쎟湤敺 utf_16_le: 敆湲鿃摮穥 utf_8: Fernßndez
您必须使用Python 2.x。以下是打印字符的一种方法(取决于您使用的编码):
你确定你有合适的角色吗?是utf-8吗?还有另一种方式:
^{pr2}$有趣。所以这些选择都不适合你?顺便说一句,我在其他一些编码中运行字符串,只是想看看其中是否有一个字符更符合我的预期。不幸的是,我看不出有什么是正确的:
相关问题 更多 >
编程相关推荐