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值打印出来。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang