300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > [文本处理]——Python实现全角字符转化为半角字符

[文本处理]——Python实现全角字符转化为半角字符

时间:2022-12-30 01:06:29

相关推荐

[文本处理]——Python实现全角字符转化为半角字符

#全角转半角def full_to_half(text:str):#输入为一个句子_text = ""for char in text:inside_code = ord(char)#以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值if inside_code == 12288: #全角空格直接转换inside_code = 32elif 65281 <= inside_code <= 65374: #全角字符(除空格)根据关系转化inside_code -= 65248_text += chr(inside_code)return _text

最近在采集数据的时候需要对源文中的全角字符替换成半角字符。

全角字符与半角字符:

1)全角字符占两个字节,而半角字符占一个字节。

2)两者形状上有着明细的不一样

3)全角字符这么麻烦为什么还要有?

全角符号是双字节中文编码的历史遗留问题。当年在纯文本的界面中,为了让西文和中日韩的方块字对齐,就让西文字母、数字和标点也占用一个汉字的视觉空间,并使用 2 个字节存储。后来,其中的一些全角字符因为比较有用,就得到了广泛应用(比如全角的逗号「,」、问号「?」、感叹号「!」、空格「」等),专用于中日韩文本,成为了标准的中日韩标点字符。而其它的许多全角符号失去了价值,因为我们现在很少需要让纯文本的中文和西文字字对齐了,就很少再用了。

另外需要说明的是:现在全球文本编码的事实标准是 UTF-8 等基于 Unicode 字符集的编码格式。Unicode 吸纳了许多遗留字符,并且为了兼容性而保留了所有字符。所以这些没什么用的全角字符也留下来了。而国家标准也仍在要求字体和软件支持这些全角字符。

主要方法:

首先要找到字符对应的ASCII码值----全角空格单独处理替换----65281-65374之间的全角字符减去65248获得对应的ASCII码值----字符化。

以下是我自己编写的半角字符转化成全角字符的一个函数

def half_to_full(text:str):_text = ""for char in text:inside_code = ord(char)if inside_code == 32: inside_code = 12288elif 33 <= inside_code <= 132: inside_code += 65248_text += chr(inside_code)return _text

ps:第一次写博客,希望能帮到有需要的各位。

参考博主:/xunyishuai5020/article/details/122511940?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165933248816781683954485%2522%252C%2522scm%2522%253A%25220713.130102334.pc%255Fall.%2522%257D&request_id=165933248816781683954485&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~pc_rank_34-2-122511940-null-null.142^v37^pc_rank_34&utm_term=%E5%A6%82%E4%BD%95%E5%B0%86%E5%85%A8%E8%A7%92%E5%AD%97%E7%AC%A6%E7%9A%84%E6%95%B0%E5%AD%97%E5%92%8C%E5%8D%95%E8%AF%8D%E8%BD%AC%E5%8C%96%E6%88%90%E5%8D%8A%E8%A7%92%E5%AD%97%E7%AC%A6&spm=1018.2226.3001.4187/xunyishuai5020/article/details/122511940?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165933248816781683954485%2522%252C%2522scm%2522%253A%25220713.130102334.pc%255Fall.%2522%257D&request_id=165933248816781683954485&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~pc_rank_34-2-122511940-null-null.142%5Ev37%5Epc_rank_34&utm_term=%E5%A6%82%E4%BD%95%E5%B0%86%E5%85%A8%E8%A7%92%E5%AD%97%E7%AC%A6%E7%9A%84%E6%95%B0%E5%AD%97%E5%92%8C%E5%8D%95%E8%AF%8D%E8%BD%AC%E5%8C%96%E6%88%90%E5%8D%8A%E8%A7%92%E5%AD%97%E7%AC%A6&spm=1018.2226.3001.4187

/terrychinaz/article/details/113793477/terrychinaz/article/details/113793477

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。