求大神指教关于 Java 编码过程的详细描述。

编码问题一直困扰我。以 Java 为例:
大家都知道 Java 的原始字符集是两字节的 Unicode,那么在写程序时,如果系统默认字符集是
GBK 那么在编译和解释该程序时,系统到底针对编码做了哪些事情,求大神指教。

4个回答

你用的汉字对应的是可以处理汉字的编码集的,比如GBK,你在网上搜一下,每个汉字在编码集中是以数字来代替这个字的,而当计算机处理时会将这个数字转换成
一串01到计算机中,当计算机接到这串01后它就知道了你这个数字是什么意思。计算机底层通过01控制微弱的电流就能实现这个了。
这个是我的理解,可能有些偏误希望对您理解有帮助。

u012216727
大河行脚 如果都支持中文编码过程应该就是我上面描述的,而当编码不同时可能会出现乱码的,所以一般都会设置同样的编码的。而对于字母,由于是哪个平台都支持都一样,所以乱码问题应该很少存在的吧。
4 年多之前 回复
PopTFL
PopTFL 我的意思是当运行环境编码不同时,比如一个是 GBK ,一个是 UTF-8 同样两个字符,比如“你好”,那么在运行时,JAVA会把它们转化为一样的 Unicode ,这是怎么做到的?
4 年多之前 回复

运行环境不同,可能会出现中文乱码问题,其实是说的GBK,UTF-8,都是符合Unicode编码标准的,在Java中,把程序,比如一个类转成字节码,即编译为字节码,即生成class文件,然后才运行程序的。说错请见谅!

JVM底层运行就转换好了,无论GBK还是UTF-8,字符集都一样的

主要是对中文而言的,GBK,UTF-8对中文的编码不一样

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐