编码总结

在字符集的基础上进行编码

[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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值