在字符集的基础上进行编码
[b]1 BASE64[/b]
[quote]
由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。
[/quote]
[quote]
由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下。
[/quote]
可以把128位的UUID编码成字符形式
[b]2 unicode[/b]
[color=red]jvm 内部对字符都是采用unicode字符集 故英文中文都是占用两个byte[/color]
但是如果转成string的话 会采用平台的默认字符集进行编码
如果采用UTF8编码的话 ASCII字符占用一个字节 而中文则占用三个字节
unicode是种字符集
utf-8是种编码格式 utf-8比较节省空间
一个汉字 UTF-8的话 是占三个字节
[b]1 BASE64[/b]
[quote]
由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。
[/quote]
[quote]
由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下。
[/quote]
可以把128位的UUID编码成字符形式
[b]2 unicode[/b]
[color=red]jvm 内部对字符都是采用unicode字符集 故英文中文都是占用两个byte[/color]
但是如果转成string的话 会采用平台的默认字符集进行编码
如果采用UTF8编码的话 ASCII字符占用一个字节 而中文则占用三个字节
unicode是种字符集
utf-8是种编码格式 utf-8比较节省空间
String test = "你好啊";
Assert.assertEquals("\u4f60\u597d\u554a", test);
Assert.assertEquals("\\u4f60\\u597d\\u554a", Encodes.unicodeEncode(test));
一个汉字 UTF-8的话 是占三个字节
String test = "你";
System.out.println(test.getBytes().length);