为了账号安全,请及时绑定邮箱和手机立即绑定

Java 中 getBytes() 方法返回的数组中的内容在字符编码中代表什么意义?

Java 中 getBytes() 方法返回的数组中的内容在字符编码中代表什么意义?

子衿沉夜 2019-02-26 22:03:20
请问 Java 中 getBytes() 方法返回的数组中的数字在字符编码中代表什么意义?看了好多文章还是没搞懂字符编码是怎么做出来的,所以更不理解 getBytes()返回的数组中的数字到底有什么含义?能不能有个大佬出来解释下这些东西?或者推荐一些好点的资料,本人对计算机基础的知识很是缺乏。
查看完整描述

5 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

java内部一般都是使用utf8编码,你可以具体去查下utf8编码的格式。

查看完整回答
反对 回复 2019-03-01
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

编码通信之间约定的一种规则,编码有很多种,比如:gbk、utf-8、gb2312等等,如果对方给你传输的格式是gbk,你接收的时候就用gbk的编码来进行解析,我目前的理解只能导这种程度,希望能帮到你

查看完整回答
反对 回复 2019-03-01
?
慕容3067478

TA贡献1773条经验 获得超3个赞

你说的应该是string的getBytes()方法吧.
先确定一件事,就是现在的计算机只认识0和1.
为了存储信息,一个比较简单的方法就是把不同的0,1组合来代表自然语言中的不同字,最开始只有英语国家的搞计算机,所以有了ASCII码表,它用8位来表示一个字符(首位为0,那么就有2的7次方个组合方式,也就是说可以表示128个字符),于是他们也把8位称为一个字节(以为这能表示一个字符)。但是一堆的0,1组合在一起实在是太影响阅读了,于是就很机智弄出一个东西叫2进制,把这些排列组合当成是一个数字,二进制赋予了排列组合意义,也让这些排列组合可以转成十进制的数字。
如果只有英文字符,getBytes()方法返回的就是ASCII码表中对应的10进制数字数组。
但是世界上还是有很多不同语言,于是他们也有一套甚至多套二进制字节码对应自然语言字符的表,所以getBytes()可以传入一个参数Charset(字符集),表示你想把这个String转成什么编码格式的字节数组。

查看完整回答
反对 回复 2019-03-01
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

建议看看unicode和utf8的关系

查看完整回答
反对 回复 2019-03-01
?
开满天机

TA贡献1786条经验 获得超13个赞

看了一些计算机基础的知识知识之后,我知道了byte数组的数字是

什么意思了,其实里面的数字就是对应ASCII表中的数字,差不多就是坐标。一个

字母是对应表中的一个字节,中文是用2-3个字节表示。byte数组中是转换成10进制后的结果。

查看完整回答
反对 回复 2019-03-01
  • 5 回答
  • 0 关注
  • 730 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信