关于JAVA内存中字符编码的一些说明,\x,\u,%

1、JAVA中的字符采用UTF-16编码,一个char只能有两个字节表示,其中字符串可以使用\u表示UTF-16编码的标识

2、JAVA中String的length方法返回的是code unit数量,即UTF-16编码之后的字节数(2字节一单元)

2、有些地方可能有\x这种表示,\x标识实际的编码之后的2进制数据的16进制表示形式,具体的编码格式则可能有区别,一般是属于UTF-8编码之后的字节的16进制表示形式

3、作为对比Python中,采用直接的Unicode码点表示,在与网络交互的时候则需要转换为具体的UTF-8或者UTF-16等编码形式

4、关于%,一般用于http请求中路径中的字符转义,具体内容比较复杂,参考一下这个网址,也没深究

总之一句话,不讲编码的转化都是耍流氓!!!!

https://www.ruanyifeng.com/blog/2010/02/url_encoding.html

参考链接

https://crossoverjie.top/2019/09/10/cs/not%20easy%20emoji/

https://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.1

https://www.utf8-chartable.de/

https://www.unicode.org/emoji/charts/full-emoji-list.html#1f602

posted @ 2020-09-27 20:25  MarshWinter  阅读(933)  评论(0编辑  收藏  举报