为什么把代码以UTF8的格式保存,char里面存储的汉字也能正确读出来呢?

为什么把代码以UTF8的格式保存,char里面存储的汉字也能正确读出来呢?

前面讲的char类型不是两个字节吗?一个UTF8格式的汉字是三个字节,怎么能存进JAVA的char中并且还能正确读出来呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,

1、将JAVA文件设置为UTF-8是因为UTF-8不仅能表示中文的字符,也能表示外国的许多文字,会在网页等内容解析时,最大程度的匹配到所有文字。而GBK则是最大程度表示中文字符,对外国的多文字是不支持的。

 2、把Java文件从UTF-8转换成GBK,这个"中"会乱码,是因为将这个"中"在存入时使用UTF-8的编码方式存入计算机底层,在读取时,如果更换编码方式,使用GBK的编码方式来读取,就会读取产生乱码。

3、将编码方式设置为UTF-8能最大程度匹配所有文字,减少解析文件时产生的乱码,是开发中常用的编码形式。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • qq_旧安_0 提问者 #1
    好的,理解了,谢谢老师
    2019-12-04 14:39:51
好帮手慕小班 2019-12-03 19:14:40

同学你好,Unicode是一种字符集(charset),用两个字节就能囊括世界上所有的文字集合。

UTF-8是一种编码方式(encoding),是Unicode的一种表现方式。

在一个Java文件(该文件为UTF-8编码)里面写上这样一句话

char a = '中';

编译后生成的class文件会把'中'转化成Unicode的两字节。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 qq_旧安_0 #1
    老师请问那把JAVA文件设置成utf8有什么用呢?在把Java文件从utf8转换成gbk这个a里面的“中”字也会乱码啊,他这个UTF8的设置效果是体现在哪的?
    2019-12-03 19:32:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师