vb中的byte数据类型是什么意思?

我知道是一个数值类型,取值范围也知道,而且不能取负数。但是书里面有几句话搞的我一头雾水。书中说:“如果变量包含二进制数,则将它声明为byte数据类型。在进行ansi和un... 我知道是一个数值类型,取值范围也知道,而且不能取负数。但是书里面有几句话搞的我一头雾水。
书中说:“如果变量包含二进制数,则将它声明为byte数据类型。在进行ansi和unicode格式转换时,若数据是用byte变量存储二进制数据就可保留数据。若数据是用string变量存储,变量中的任何二进制数据都会被破坏”
所以我的问题是:
一、怎样使变量包含二进制数。
二、ANSI和Unicode格式转换时,为什么byte变量可保留数据,而string变量就会被破坏。还有就是string不是属于字符串类型吗,怎么又能存二进制数据了,二进制难道不是数值型吗?
先谢谢各位高手 我希望高手们为我解答的时候尽量用比喻,打比方的手法。那样通俗易懂。
最好在解释部分一个专业术语的词都不要用到。再一次感谢。
展开
 我来答
chinaboyzyq
推荐于2017-11-26 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3211万
展开全部
首先这么较劲去理解这个是没有意义的。因为当你遇到这类问题去查找资料的时候,你慢慢就会理解你想知道的东西,对于字节变量你现在知道的就够了。
其次“如果变量包含二进制数,则将它声明为byte数据类型。“是错误的。正确的说法是:”如果变量包含二进制数,则将它声明为 Byte 数据类型的数组。“
二进制数据又称字节流数据,它是可以被存入字节数组或串变量的,而且两则之间可以转换。
二者的区别在于byte是以ascii码的形式存储,当然不会有问题,而string是以字符形式存储的,但有些ascii码根本无法转换成字符,非要转换成字符可能就丢失了,也就是被破坏了。
ghost610
2021-04-01 · TA获得超过159个赞
知道答主
回答量:86
采纳率:68%
帮助的人:19.1万
展开全部
第一,任何数据类型和文字最终存储到文件里,都是以二进制的形式,也就是0101,单位是字节(Byte)也就是8个二进制数,至于这个字节对应什么文字或者字符,就要看你使用什么编码方式,如Ascii码就是256个字符对应8位二进制数(正好8个二进制数正好256中情况),你定义的任何变量本质都可以转换为二进制数,数据类型直接转换,其他类型转换了也就失去原来的意义(比如字符转换成数字没啥意义)。
第二、ANSI编码不是一个编码是一堆,中文系统就是国标,对应的是汉字编码,输入汉字保存成二进制数,如果拿到其他没有中文系统上就是乱码,本身二进制没变,只是解释变了而已。在其他系统默认非中文系统中,输入的文字同样使用ANSI编码,一样可以正常显示,但是他不能输入中文不支持中文。Unicode编码支持各种文字,它就是为了一统天下的,方便交流,必然与ANSI编码对同一个二进制数有着不同的解释,也就是会变,可能会字节数不同,就会出现截断。
第三、你说string类型其实可以理解为很多个字符,涉及到文字编码后变成二进制数,然后再转换的问题,就像你把双字节类型变成单字节类型必然会变得面目全非啊,就像你把鸡腿剁成肉馅,它看起来就不是一个东西了。
这么说不知道能不能理解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式