gpt4 book ai didi

python - 将全角 Unicode 字符转换为 ASCII 字符

转载 作者:行者123 更新时间:2023-12-01 01:50:35 27 4
gpt4 key购买 nike

我有一些 unicode 格式的字符串文本,其中包含一些数字,如下所示:

txt = '36fsdfdsf14'

但是,int(txt[:2]) 无法将字符识别为数字。如何更改字符以将其识别为数字?

最佳答案

如果您确实拥有 Unicode(或将字节字符串解码为 Unicode),那么您可以使用规范替换来标准化数据:

>>> s = u'36fsdfdsf14'
>>> s
u'\uff13\uff16fsdfdsf\uff11\uff14'
>>> import unicodedata as ud
>>> ud.normalize('NFKC',s)
u'36fsdfdsf14'

如果规范标准化对您来说变化太大,您可以制作一个仅包含您想要的替换的转换表:

#coding:utf8

repl = u'0123456789'

# Fullwidth digits are U+FF10 to U+FF19.
# This makes a lookup table from Unicode ordinal to the ASCII character equivalent.
xlat = dict(zip(range(0xff10,0xff1a),repl))

s = u'36fsdfdsf14'

print(s.translate(xlat))

输出:

36fsdfdsf14

关于python - 将全角 Unicode 字符转换为 ASCII 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50755932/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com