byte类型输出问题

byte类型输出问题,第1张

因为Systeminread()这个方法,要带参数sun只提供了read(byte[]
b)
,也就是说只能用字节数组来做缓冲,符合计算机内存的存储机制以字节为单位存储数据,以int或char存储会增加开销(具体存储及效率涉及到一些系统结构知识)
类System
的静态in字段返回
InputStream类型,
InputStream它的read方法只有read(),read(byte[]
b),read(byte[]
b,
int
off,
int
len)三个方法

这是在VC++ 60环境下的运行结果,得到的地址可能不同,但冒号右侧的值一定是相同的。

/

12FF40 :  0

12FF41 :  0

12FF42 :  0

12FF43 : 40

Press any key to continue

/

#include <stdioh>
int main() {
int i,a = 1073741824;
char p = (char )&a;
for(i = 0; i < 4; ++i,++p)
printf("%4X : %2X\n",p,p);
return 0;
}

一般获取字符串的长度我们可以使用length这个属性
比如你有这么一个字符串 string str="哈哈哈哈哈";
你要获取str的字节数的时候这样做
byte[] b = new byte[strLength];
b = EncodingUnicodeGetBytes(str);//这可以用Unicode,也可以用BigEndianUnicode,用其他的就错啦
ResponseWrite(bLength);


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13355425.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-20
下一篇 2023-07-20

发表评论

登录后才能评论

评论列表(0条)

保存