Unicode不可见字符的显示
Unicode的学名是”Universal Multiple-Octet Coded Character Set”,简称为UCS
不可见字符”/u200b”为 Unicode Character ‘ZERO WIDTH SPACE’ (U+200B),可用于内容标识,不占位数。
echo $LANG可以显示出Linux系统的编码方式,一般默认为UTF-8。
在Linux终端中”/u200b”为不可见字符。为了显示出内容中加入的不可见字符,可将内容保存到文本中,利用less命令打开文本。
less
1
|
less 与 more 类似,但使用 less 可以随意前后浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。 |
eg:
1
2
3
4
5
|
在查看日志时 grep xxxxxx info.log |less 以less分页显示的形式查看日志, 用less打开的日志可以展示出不可见字符 less info.log |grep xxxxxx 打开的日志无法展示出不可见字符 |
java中打印unicode的例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import static org.assertj.core.api.Assertions.assertThat; /** * Created by wenjia3 on 16/12/1. */ public class unicode { public static void main(String[] args){ String contentOri= "test unicode" ; String content1= "\u200b" + contentOri + "\u200b" ; String content2= "\u0021" + contentOri + "\u0021" ; String str = "" ; for ( int i = 0 ; i < content1.length(); i++) { int ch = ( int ) content1.charAt(i); if (ch == '\u200b' ) str += content1.charAt(i) + "\\u" + Integer.toHexString(ch); else str += content1.charAt(i); } System.out.println(content1); System.out.println(content2); System.out.println(str); assertThat(content1).as( "不含有/U200B字符" ).contains( "\u200b" ); } } |
运行结果
1
2
3
|
?test unicode? !test unicode! ? \u200btest unicode?\u200b |
直接打印content1、content2,unicode字符会自动编译成当前标准输出的编码。即\u200b为不可见字符,\u0021为“!”。
可以利用charAt()在程序中进行转换,将字符的unicode值打印出来。
Unicode不可见字符的显示的更多相关文章
- decode_json 必须是unicode形式的字符
centos6.5:/root/test#cat a1.pl use JSON qw/encode_json decode_json/; use Encode; my $data = [ { 'nam ...
- [c/c++] programming之路(25)、字符串(六)——memset,Unicode及宽字符,strset
一.memset #include<stdio.h> #include<stdlib.h> #include<memory.h> void *mymemset(vo ...
- unicode 和 utf-8字符编码的区别
作者:于洋链接:https://www.zhihu.com/question/23374078/answer/69732605来源:知乎著作权归作者所有,转载请联系作者获得授权. 原文:unico ...
- 正则表达式入门(六)匹配unicode和其他字符
匹配unicode字符有时候我们需要匹配ASCII范围之外的字符. "Qu'est-ce que la tolérance? c'est l'apanage de l'humanité. N ...
- cocos2d-x CCEditBox 字符不能显示完全的bug
cocos2d-x CCEditBox 字符不能显示完全的bug (cocos2dx版本 2.2.0)用CCEditBox制作帐号输入框,当输入的内容超过框的宽度时,框里面不会显示当前输入的字符,显示 ...
- unicode编码、字符的转换和得到汉字的区位码
一:unicode编码.字符的转换截图 二:unicode编码.字符的转换代码 using System; using System.Collections.Generic; using System ...
- 刨根究底字符编码之十——Unicode字符集的字符编码方式CEF
Unicode字符集的字符编码方式CEF 一.字符编码方式CEF的选择 1. 由于Unicode字符集非常大,有些字符的编号(码点值)需要两个或两个以上字节来表示,而要对这样的编号进行编码,也必须使用 ...
- [Word]让字符重合显示
某些时候需要让字符重合显示,比如您好二字,显示为: 需要用到word的Advance域,他可以让后面的文字上下左右移动一定的磅. 譬如上面你好的显示:word中域代码为: 意思是好字向left移动了2 ...
- 【转】javascript和html中unicode编码和字符转义的详解
不是十分理解unicode和html转义的情况下,可能会误用,所以下面会对它们再做比较容易理解的解释: 1.html中的转义:在html中如果遇到转义字符(如“ ”),不管你的页面字符编码是utf-8 ...
随机推荐
- ES6十大常用特性
. Default Parameters(默认参数) in ES6 2. Arrow Functions (箭头函数)in ES6 3. Block-Scoped Constructs ...
- 08使用NanoPiM1Plus在Android4.4.2下接TF卡
08使用NanoPiM1Plus在Android4.4.2下接TF卡 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2017/12/5 17:51 版本: ...
- (转)淘淘商城系列——使用solrj来测试索引库
http://blog.csdn.net/yerenyuan_pku/article/details/72892280 我们使用solrj来操作索引库,一般习惯先建一个单元测试类测试下增删改查方法是否 ...
- facade模式-服务-配置----系统生成与配置
facade模式对外提供一组相关服务: 对内整合子系统: facade模式的创建过程需要依赖外部的配置. 配置完成以后才能使用服务. 推广开来,所有系统都需要生成与配置,然后才能对外提供服务.
- vue过渡 & 动画---进入/离开 & 列表过渡
(1)概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animat ...
- HDU多校Round 8
Solved:2 rank:141 D. Parentheses Matrix n,m有一个小于6的时候是一种构造方法 答案是n + (m - 2) / 2 (n > m) 都大于6的时候 可以 ...
- Linux安装redis并且连接内网的redis
1.安装redis步骤 1.首先准备工作 [root@10-100-14-130 ~]# yum install gcc-c++ yum install wget 2.推荐进入到linux路径/ ...
- 使用JavaScript制作一个好看的轮播图
目录 使用JavaScript制作出好看的轮播图效果 准备材料 1.图片若干张(包括轮播图和按钮的图片) 2.将按钮的图片应用到按钮上的CSS样式文件 3.实现轮播和点击跳转的JavaScript代码 ...
- 39页第7题 计算2的i次方之和
/*计算2的i次方之和*/ #include<stdio.h> #include<math.h>/*调用math.h文件中的函数*/ int main(void) { int ...
- LINUX-初始化一个文件系统
mkfs /dev/hda1 在hda1分区创建一个文件系统 mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统 mke2fs -j /dev/hda1 在hda1 ...