最近在做文本分析与挖掘时,涉及到了全角字符串与半角字符串的转换问题。在文本处理的相关问题上,半角和全角字符通常是数据预处理的必要过程,在此做个学习总结。

全角指的是一个字符占2个标准字符的位置(例如中国汉字)。
半角指的是占1个标准字符的位置(例如普通的字符a)。

全角字符包含两类字符:

  1. 特殊字符:空格,它的全角值十进制整数为12288,十六进制为0x3000,而其半角十进制整数值为32,十六进制结果为0x20.
  2. 有规律的字符,这类字符的全角十进制整数范围为[65281,65374],十六进制[0xFF01,0xFF5E],半角十进制整数值[33,126],十六进制[0x21,0x7E].

除了空格外,有规律的字符在半角和全角之间的差值为65248,因此我们可以直接在全角数值上减去65248即可得到半角数值。

例如,全角字符串“0 0 5 2 7 8 2 5 C B D”转换为半角字符串的结果是“00527825CBD”。

注意:
并不是所有的全角字符都能被转换为半角字符,例如汉字是全角字符,占2个字符的位置,但它无法被转换;只有英文字母、数字键、符号键等才能可以做全角和半角之间的转换。

文本分析-全角字符串与半角字符串的转换相关推荐

  1. Java 全角字符转半角字符(icu的Transliterator使用)

    Java 全角字符转半角字符 互相转换. 可以直接实现,也可以直接用jar包 有ICU包直接用就好 <dependency><groupId>com.ibm.icu</g ...

  2. php字符串里含有全角符号,php将字符串中全角字符转换为半角字符_PHP教程

    php将字符串中全角字符转换为半角字符 php将字符串中全角字符转换为半角字符,摘自ecshop. /** * 将一个字串中含有全角的数字字符.字母.空格或'%+-()'字符转换为相应半角字符 * @ ...

  3. 去掉字符串两端的全角空格和半角空格(含源代码)

    昨天,遇到了一个技术问题.本来我在程序中用的trim()方法来处理从JSP页面传来的值,后来在测试时,发现当我输入的是全角空格时,trim()方法失效. 需求是这样的,只是去掉字符串两端的空格(不论是 ...

  4. java 正则表达式替换多个全角空格为一个半角空格_去掉字符串两端的全角空格和半角空格(含源代码)...

    昨天,遇到了一个技术问题.本来我在程序中用的trim()方法来处理从JSP页面传来的值,后来在测试时,发现当我输入的是全角空格时,trim()方法失效. 需求是这样的,只是去掉字符串两端的空格(不论是 ...

  5. python匹配文本中全角符号的两种方法

    在对文本进行处理的时候经常会遇见要对括号和标点进行匹配 常见的英文(半角)符号如( ) 直接用正则匹配即可 但是遇见全角字符(中文括号.标点),直接用正则匹配会存在问题: 因为编码通常为为utf8,若 ...

  6. java全角字符转换为半角 半角转全角

    /// <summary>/// 判断字符是否英文半角字符或标点/// </summary>/// <remarks>/// 32 空格/// 33-47 标点// ...

  7. java 全角字符转半角字符

    public class Test { public static void main(String[] args) { String t="■ ■ffac●●△※○○☆№ccc" ...

  8. 全角字符和半角字符的概念

    1. 什么是全角和半角? 全角–指一个字符占用两个标准字符位置. 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符.一般的系统命令是不用全角字符的,只是在作文字 ...

  9. C#实现全角字符和半角字符转换

    本文转自: http://blog.csdn.net/wangchao1982/article/details/1857444,写的很好,直接转了,谢谢! 很多的朋友都在学习和工作中遇到过全角和半角的 ...

  10. word如何删除空行和全角空格_Word批量删除空格(全角空格、半角空格、不间断空格、制表符空格)的技巧-word技巧-电脑技巧收藏家...

    Word批量删除空格(全角空格.半角空格.不间断空格.制表符空格)的技巧 从网页中复制过来的文字中会有许多的空段和空格,在Word中排版时也需要清除.那么为什么这一步要删除空格,而不是先删除空段呢?道 ...

最新文章

  1. PyTorch在NLP任务中使用预训练词向量
  2. Java中的对象和包
  3. node 流学习笔记 - 可写流
  4. easyUI的combobox选中无法显示
  5. qt 试用 (3)配置编译源代码及调试
  6. WP7 App性能优化(12):检测应用程序性能(Ⅴ)
  7. 动软.Net代码自动生成器下载
  8. 论文笔记_SLAM_Simultaneous Localization And Mapping: A Survey of Current Trends in Autonomous Driving
  9. DirectX 9高层着色语言介绍4——语言基础(3)
  10. yylabel 加载html,YYLabel的富文本设置
  11. 计算机内存不足黑屏怎么办,win10内存不足会黑屏怎么办
  12. MATLAB实现规范化(normalize)数据的函数实现
  13. 小白都能学会的Python基础 第一讲:Python初了解
  14. range.FormulaR1C1属性
  15. 软件测试用例的实际结果,软件测试结果归纳与分析
  16. ASP.NET MVC 最好的视图引擎是什么?
  17. scad的oracle性质,变量选择之SCAD算法
  18. Gif动图如何在线编辑?教你三步在线编辑动图
  19. Civil 3D 二次开发 创建Civil 3D 对象—— 00 ——
  20. 使用计算机连接bmcc,Blackmagic Cinema Camera BMCC MFT/EF 摄影机 bmcc

热门文章

  1. 设计一个python程序来计算显示通过如图2-7所示的管道_python程序设计习题与答案...
  2. 雅思核心词拾遗02----Family+ Law
  3. 荐书丨10 本豆瓣高分技术图书,强烈推荐!
  4. 怎么用电脑把mp4格式转换成mp3格式
  5. vue项目中实现输入框防抖功能
  6. 所选的用户密钥未在远程主机上注册,请再试一次
  7. 一文了解间隙配合、过盈配合、过渡配合的特点、区别及适用范围
  8. 易到网约车许可证到手,终于能卖个好价钱了
  9. 多媒体计算机用什么音箱好,小巧又不失音质 桌面2.0电脑音箱推荐榜
  10. asp/php/asp.net网站后台HTML编辑器eWebEditor升级kindeditor编辑器