社区
C#
帖子详情
超简单的一个问题, 怎样固定 byte[] 类型变量的长度呢??
tank_2009
2010-04-29 02:07:25
byte[] buffer = new byte[10];
buffer = System.Text.Encoding.Unicode.GetBytes("aa");
这时候, buffer的Lenght变成4了, 有希望他的长度一直是最开始申明的10... 应该怎样可以实现呢?
...全文
244
7
打赏
收藏
超简单的一个问题, 怎样固定 byte[] 类型变量的长度呢??
byte[] buffer = new byte[10]; buffer = System.Text.Encoding.Unicode.GetBytes("aa"); 这时候, buffer的Lenght变成4了, 有希望他的长度一直是最开始申明的10... 应该怎样可以实现呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lpingz
2010-04-29
打赏
举报
回复
[Quote=引用 3 楼 cjcgy 的回复:]
byte[] buffer = new byte[10];
System.Text.Encoding.Unicode.GetBytes("aa").CopyTo(buffer, 0);
[/Quote]
可以。
tank_2009
2010-04-29
打赏
举报
回复
[Quote=引用 3 楼 cjcgy 的回复:]
byte[] buffer = new byte[10];
System.Text.Encoding.Unicode.GetBytes("aa").CopyTo(buffer, 0);
[/Quote]
谢谢....
haa17
2010-04-29
打赏
举报
回复
[Quote=引用 2 楼 findcaiyzh 的回复:]
先澄清下lz的错误概念
byte[] buffer = new byte[10]; //内存中分配10 byte空间,并让buffer指向它
buffer = System.Text.Encoding.Unicode.GetBytes("aa"); //buffer指向新的内存(猜测GetBytes中分配的)。上句分配的10 byte空间已经准备好被垃圾收集了。
因此byte[……
[/Quote]
同意
烈火蜓蜻
2010-04-29
打赏
举报
回复
1
byte[] buffer = new byte[10];
buffer = System.Text.Encoding.Unicode.GetBytes("aa");
这样,其实,已经变了,
buffer已经不是指向原来的那个new byte[10]的起始地址,而是一个新的地址了
如果你想不变的话,只能这样
byte[] buffer = new byte[10];
byte[] buffer2= System.Text.Encoding.Unicode.GetBytes("aa");
然后,把 buffer2的前10个复制到buffer中,如果少于10个就有多少复制多少个过去
cjcgy
2010-04-29
打赏
举报
回复
byte[] buffer = new byte[10];
System.Text.Encoding.Unicode.GetBytes("aa").CopyTo(buffer, 0);
宝_爸
2010-04-29
打赏
举报
回复
先澄清下lz的错误概念
byte[] buffer = new byte[10]; //内存中分配10 byte空间,并让buffer指向它
buffer = System.Text.Encoding.Unicode.GetBytes("aa"); //buffer指向新的内存(猜测GetBytes中分配的)。上句分配的10 byte空间已经准备好被垃圾收集了。
因此byte[] buffer = new byte[10]; 完全是多余的。
lpingz
2010-04-29
打赏
举报
回复
非这样做的话,只好判断length是否为10,然后将后面补空字符了。
Java对象布局(JOL)实现过程解析
主要介绍了Java对象布局(JOL)实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Java面试题----简答题
1.Java的基本
类型
有? 答案:int long char
byte
double boolean short float难度等级:
简单
2.我们能将 int 强制转换为
byte
类型
的
变量
吗?如果该值大于
byte
类型
的范围,将会出现什么现象? 答案: 是的,我们可以做强制转换,但是 Java 中 int 是 32 位的,而
byte
是 8 位的,所以,如果强制转化是,int
类型
的高 24 位将会被丢弃,
byte
类型
的范围是从 -128 到 127。难度等级:
简单
3.3*0.1 ==
Java中两个
byte
类型
相加结果赋值给
byte
类型
的
变量
会报编译错误,
byte
加
byte
的结果为什么是int?
背景: 之前偶然看到有讨论这个
问题
,在网上搜了半天,结果都不尽如人意,解释没有到位, 有的说
byte
加
byte
默认就是int,那为什么这么做呢? 这不是找麻烦么?这种奇怪的默认还有哪些?带来一些列疑问。。。。。。 有的说
byte
存储的就是整型数据,这种说法的对错姑且不论,至少我觉得难免有点牵强了,还是疑问重重。。 所以今天专门总结一下: -------------------------...
byte
类型
的数据进行运算时
超
过其存储范围怎么办?
我们知道java中的
byte
类型
数据在内存中是占用
一个
字节的,因此
一个
byte
类型
的数据他的范围在-128~127之间。那么当我们对两个
byte
类型
的数据进行运算后得到的结果若不在这个范围内,那最终得到的结果又是什么呢?接下来我们一起来探索一下。 b1+b2的结果是130,很明显这已经
超
出了
一个
byte
类型
数据的范围了,那么这个-126的结果又是怎么来的呢?来分析一下: 我们知道数据在计算...
byte
=130(为
byte
类型
赋值
超
长度
的内容)
byte
的
长度
是-127~128,目前需要赋值130,会出现什么情况;首先会出现编译错误,会报出丢失精度,如果不报错可以强制
类型
转换,将130强转成
byte
直接上代码解释:/** * 练习:
byte
b = 130 * @author wangjg * */ public class
Byte
130 { public static void main(String...
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章