特殊的空格-ASCII码值160
最近遇到个问题,在页面的搜索框输入带有空格的字符串时,总是无法从db中搜索出来对应的数据,于是将db里的空格复制出来,发现其ASCII码值为160,这才知道,原来ASCII码中除了32之外还有160这个特殊的空格。下边是查看字符对应ASCII值的逻辑:
final char c1 = ' '; //db里的空格
final char c2 = ' '; //手动输入的空格
System.out.println((int)c1); //160
System.out.println((int)c2); //32
平时我们用键盘输入的空格的ASCII值是32,而这个ASCII值为160的空格,其实是不间断空格(non-breaking space),是不是从来没听说过这东东?其实你平时一定也用过很多次的,就是页面上的 所产生的空格。
不间断空格non-breaking space的缩写正是nbsp。这中空格的作用就是在页面换行时不被打断,如下:
页面某一行的末尾是一个人名Zhang Xiaoming
我们希望在换行时人名不会被打断,导致Zhang 在第一行末尾,而Xiaoming跑到第二行开头,而是保持完整的人名在同一行的末尾,于是就有了不间断空格。(在word中也有这种空格的使用)
如果使用了平常的空格,就会被页面压缩,变成下边这样
页面某一行的末尾是一个人名Zhang
Xiaoming
问题
但是不间断空格有个问题,就是它无法被trim()所裁剪,也无法被正则表达式的\s所匹配,也无法被StringUtils的isBlank()所识别,也就是说,无法像裁剪寻常空格那样移除这个不间断空格。
我们可以利用不间断空格的Unicode编码来移除它,其编码为\u00A0
。
解决办法如下:
replace("\u00A0", "")
replaceAll("\\u00A0+", "") //这是正则表达式的写法String str = "aacsdfe "; //包含了不间断空格的字符串
str = str.replace("\u00A0", "");
str = str.replaceAll("\\u00A0+", "");
特殊的空格-ASCII码值160相关推荐
- 【js】不间断空格 特殊的空格-ASCII码值160
键盘输入的空格的ASCII值是32, 而不间断空格(non-breaking space)是ASCII值为160的空格,就是页面上的 所产生的空格. 不间断空格的Unicode编码为\u00A0. 其 ...
- 前端特殊空格ASCII码为160,转为32的空格
项目背景: 用div自定义的输入框,富文本含有标签样式. 问题: 空格输入,在后台保存后,出现乱码,解析不了 解决: 在前端中,有个特殊的空格,就是页面中 在ascii中为160,平时的输入空格为32 ...
- 转义序列字符(\0,\n,\r,\t,\v,\a,\f,\b,\\,\‘,\“,\?)详解,转义字符对应的全称,输出结果和对应的ASCII码值详解;
文章目录 前言 转义序列字符(Escape Sequence Character): 一.\0:空字符 二.\n:换行符 三.\r:回车符 四.\t:水平制表符 五.\v:垂直制表符 六.\a:响铃 ...
- 回车、换行、空格的ASCII码值—(附ASCII码表)
回车.换行.空格的ASCII码值 回车,ASCII码13 换行,ASCII码10 空格,ASCII码32 Return = CR = 13 = '\x0d' NewLine ...
- c 中空格的asc码表_回车、换行、空格的ASCII码值—(附ASCII码表)
回车.换行.空格的ASCII码值 回车,ASCII码13 换行,ASCII码10 空格,ASCII码32 Return = CR = 13 = '\x0d' NewLine ...
- 回车、换行、空格的ASCII码值(不同OS平台下文件换行定义)
回车.换行.空格的ASCII码值(不同OS平台下文件换行定义) 回车,ASCII码13(十六进制:0x0D),"\r" 换行,ASCII码10(十六进制:0x0A),"\ ...
- 回车、换行、空格的ASCII码值
http://blog.csdn.net/songjinshi/article/details/7868866 回车.换行.空格的ASCII码值 回车,ASCII码13 换行,ASCII码10 空格, ...
- c语言中字符如何转数字排序,常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字。对..,(c语言)输入三个字符后,按各字符的ASCII码从小到大的顺...
导航:网站首页 > 常用字符的ASCII码值从小到大的排列规律是:空格.阿拉伯数字.对..,(c语言)输入三个字符后,按各字符的ASCII码从小到大的顺 常用字符的ASCII码值从小到大的排列规 ...
- 排坑·ASCII码为160的空格(nbsp)
阅文时长 | 2.83分钟 字数统计 | 1345.2字符 『排坑·ASCII码为160的空格(nbsp)』 编写人 | SCscHero 编写时间 | Wednesday, September 9, ...
- 汉字的ascii码值范围_ASCII代码
同学们,我们都知道计算机只能接受二进制信息,很显然直接给出英文的ABCD计算机并不认识,那为何敲击键盘屏幕就可以显示出对应的字符呢? 为了解决这个问题,计算机采用一套编码,每个编码都是唯一的,对应键盘 ...
最新文章
- IE6中PNG图片背景无法透明显示的最佳解决方案
- linux编程基础_第1篇 Linux系统编程 -多线程基础
- Delphi V7.0企业汉化版及注册码
- 牛客 - 树上求和(贪心+树形dp)
- Fiddle:使用断点:bpu,bpafter
- go linux 源码编译环境,修改并编译golang源码
- 前缀(波兰表达式) 中缀 后缀(逆波兰表达式)
- 帮助你生成分享和显示社交媒体网络按钮的jQuery插件 - #50C1AL
- utc时间 单位换算_OSAL之时钟分析
- Symbian s40 Java编程实战(一)--开发环境配置
- pci-e串口卡linux 驱动下载,PCI/PCIe串口卡并口卡驱动
- php 支付宝用户信息授权,支付宝登录获取用户信息授权
- 吴军《态度》读后感(1):人生哲学
- android 获取以太网的动态IP地址,子网掩码,DNS地址,网关地址
- Hive SQLException: Method not supported问题
- 计算机毕业设计Java超市货品进销存系统后台(源码+系统+mysql数据库+lw文档)
- canvas实现动态点线背景,鼠标画点连线。
- Python声音处理入门
- 十个你可能不知道的CloudFlare免费CDN加速技巧
- cmd 命令行执行 Python 脚本