编码上的一个个人想法总结

今天在看LRC校验算法(按位异或运算)的时候,随手也同时做了几个测试,在做测试的时候突然有点搞不清楚数据编码方面的问题。

比如说String的“6”和int类型的6到底是个什么区别,它们的十六进制的表示有何不同。

之后就花了点时间纠结在这个问题上,好在最后给想明白了。

结论:

 int i = Integer.parseInt("6");
在这个转换当中涉及到两个字符6。
前后两个字符6已经不是同一个东西了。
前面一个6,int类型,4个字节,二进制00000000 00000000 00000000 0110,十六进制0x00 0x00 0x00 0x06。
 
后面一个6,String类型,1个字节,是ASCII码,二进制0011 0110 ,十六进制0x36。

猜你喜欢

转载自www.cnblogs.com/kumu/p/9108549.html