我需要一种在纯 Python 2.6 中从标准 ASCII 和 Unicode FULLWIDTH 字符转换字符串的方法,反之亦然。字符串也可能包含符号。
我试过 unicodedata.normalize 但它不转换符号,这是单向的。在其他问题中找到的其他解决方案不适用于我的程序(许多不转换符号)。
我正在尝试为 PS2 创建一个保存文件读取器/写入器。例如,我从文件中读取了这个字符串:
'\x82g\x82\x81\x82\x8c\x82\x86\x81|\x82k\x82\x89\x82\x86\x82\x85\x82r\x82\x99\x82\x93\x82\x94\x82\x85\x82\x8d\x81@\x82c\x82\x81\x82\x94\x82\x81'
那是s-jis
-encoded,我用它解码.decode('s-jis')
:
u'\uff28\uff41\uff4c\uff46\u2212\uff2c\uff49\uff46\uff45\uff33\uff59\uff53\uff54\uff45\uff4d\u3000\uff24\uff41\uff54\uff41'
我打印它:
Half−LifeSystem Data
这是我需要转换为 ASCII 的全宽字符串;它应该变成这样:
'Half-LifeSystem Data'
Life
(和之间没有任何东西System
)
请注意,我选择此保存是因为它包含两个最常出现的符号,-
和空格。
此外,我必须能够以相同的方式重新编码,因为用户可能会重命名保存,所以我必须从输入对话框中获取字符串并再次将其写入文件。