关于java中编码和解码(一)

计算机中所能表示的字符仅仅为0-255个,平时我们用到的语言太多,计算机本身根本无法表示。必须将我们的不同的语言转换为计算机所能理解的语言----bit。好了,废话不多说,进入正题

举个例子来说明java中编码和解码的过程

 例如:java中将字符串转换为字节数组的方法为String.getBytes方法,此方法会调用StringCoding.encode方法,如下图


接着StringCoding方法里则会调用java.nio.charset类,此类下的lookupCharset()查找对应的编码格式,如:utf-8,gbk等


得到编码名称之后,会新建StringEncoder对象,接着调用此对象的encode方法,进行编码,在最后最后的底层,会调用Arrays.copyof()方法,此方法新建一个byte[],并进行返回。

以上就是字符转换为字节的过程,字节转化为字符思想和此过程类似,在此不再介绍!

注意:java中所有涉及到字符到字节或者字节到字符的实现原理都为此过程!


猜你喜欢

转载自blog.csdn.net/dghkgjlh/article/details/79930196