美文网首页
ASCII字符串中找出混合的unicode字符(非ASCII字符

ASCII字符串中找出混合的unicode字符(非ASCII字符

作者: xun66 | 来源:发表于2020-10-03 17:44 被阅读0次

背景

写Latex的时候,从PDF或者网页上复制一些文本粘贴之后提示混有Unicode字符,因为文档没有引入Unicode适配包,所以报错。

如下面的一段文本,混有几个Unicode字符:

Consider the problem with input strings u_n u_{n−1} ... u_1 and v_m v_{m-1} ... v_1. Recall that the recursive calculation for computing the optimal eԁit is given by ƍ!

上面的文本中,u_n后面的空格,u_{n-1}的减号,末尾edit的"d"、"ƍ"和叹号,都是非ASCII字符。部分Unicode字符和一般的ASCII字符外观十分接近,难以辨别。

如何比较简单的找出字符串里的“叛徒”?

解决方法

利用VScode/Sublime Text/UE/notepad++/在线正则匹配网站等支持正则匹配的文本编辑工具,在搜索框输入下面的正则表达式(注意要开启正则匹配,一般是点亮搜索框右侧的一个" .* "图标),非ASCII字符就会高亮,并显示总计个数。

[^\u0020-\u007F]

补充

1. 上面表达式的含义是查找所有Unicode编码不在U+0020到U+007F之间的字符(即基本拉丁文字符编码范围)。

2. 如需根据情况允许标准控制字符,则区间应改为U+0000到U+007F。

3. 关于Unicode编码表:http://www.52unicode.com

4. 没有上述工具的时候,当然也可以手动利用二分法确定报错范围,不过手动查找的方法在只有一两个特殊字符的时候可用,Unicode字符很多时不建议用太麻烦。 

关键词

正则 Unicode Latex 混合 非ASCII字符

相关文章

  • ASCII字符串中找出混合的unicode字符(非ASCII字符

    背景 写Latex的时候,从PDF或者网页上复制一些文本粘贴之后提示混有Unicode字符,因为文档没有引入Uni...

  • Python中的字符串编码

    Python中的字符串编码 定义字符串 Python 中存在两种编码方式的字符串:ASCII 和 Unicode。...

  • C++ 、objc 字符串编码转换

    最近碰到字符串编码转换的问题,简单记录下 Ascii 转unicode unicode 转 Ascii utf8 ...

  • url转义

    URL中的字符只能是ASCII字符,但是ASCII字符比较少,而URL则常常包含ASCII字符集以外的字符,如非英...

  • ASCII,Unicode,UTF-8,Base-64

    字符编码笔记:ASCII,Unicode和UTF-8字符编码笔记:ASCII、Unicode、UTF-8 和 Ba...

  • MySQL 字符串函数

    ASCII(str) 返回字符串 str 中最左边字符的 ASCII 代码值。如果该字符串为空字符串,则返回0。如...

  • python笔记(五)数据类型 - 字符串

    原始字符串 ASCII 中的字符和 RE 中的特殊字符可能出现冲突,比如\b在ASCII中表示退格,在 RE 中表...

  • MySQL字符串操作

    字符串函数 1、查看字符的ascii码值ascii(str),str是空串时返回0 select ascii('a...

  • MySQL常用函数

    字符串相关函数 1ASCII(String) 返回字符串第一个字母的ASCII码: SELECT ASCII('A...

  • 关于mysql内置函数

    字符串函数 查看字符的ascii码值ascii(str),str是空串时返回0 查看ascii码值对应的字符cha...

网友评论

      本文标题:ASCII字符串中找出混合的unicode字符(非ASCII字符

      本文链接:https://www.haomeiwen.com/subject/wdbwuktx.html