c语言字符串转成byte数组
chara[1024]="helloworld!";byteb[1024];我想把a的元素转成byte型保存在b里,求解答...
char a[1024]="hello world!";
byte b[1024];
我想把a的元素转成byte型保存在b里,求解答 展开
byte b[1024];
我想把a的元素转成byte型保存在b里,求解答 展开
2015-12-05 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
c语言中没有byte这种类型,这是计算机中存储信息的单位。
char 是字符型
byte 是字节型(0 - 255)
在参与算术运算是char类型会自动转为整型;如字符A会转为对应ASCII码65.
char是用来表示一个字符,而不是一个字,因为一个字要占用两个字节。而存储一个ANSI字符只需一个字节。注意,强调是ANSI字符,而不是Unicode字符。因为Unicode要占用两个字节。
byte类型是最自由的一种。它就占用一个字节,但没有定义这个字节拿来干什么。char定义为一个Unsigned Byte类型。也就是无符号的一个字节。它将一个字节的8位全占用了。可以表示的数据范围是0到255之间。
如果你确定处理的字符串是标准的ANSI字符串,那不必转换也可以直接一个字节一个字节地处理。如果要处理的字符串不定或是统一的Unicode字符串则要进行转换后进行处理。
char 是字符型
byte 是字节型(0 - 255)
在参与算术运算是char类型会自动转为整型;如字符A会转为对应ASCII码65.
char是用来表示一个字符,而不是一个字,因为一个字要占用两个字节。而存储一个ANSI字符只需一个字节。注意,强调是ANSI字符,而不是Unicode字符。因为Unicode要占用两个字节。
byte类型是最自由的一种。它就占用一个字节,但没有定义这个字节拿来干什么。char定义为一个Unsigned Byte类型。也就是无符号的一个字节。它将一个字节的8位全占用了。可以表示的数据范围是0到255之间。
如果你确定处理的字符串是标准的ANSI字符串,那不必转换也可以直接一个字节一个字节地处理。如果要处理的字符串不定或是统一的Unicode字符串则要进行转换后进行处理。
展开全部
1、C这么灵活,通常不用转。
char a[1024]="hello world!";
byte *b=(byte*)a;
//这时b就等同于转了,直接用b[123]等就可以
2、强行转需要复制,浪费一倍内存。
#include<string.h>
...
...
char a[1024]="hello world!";
byte b[1024];
memcpy(b,a,1024);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
byte是什么?自己定义的类型?
C基本类型没有byte这个类型,C的char就是一个字节。相当于一个
byte。
C基本类型没有byte这个类型,C的char就是一个字节。相当于一个
byte。
追问
就是想问字符串怎么转成字节数组
追答
char []就是字节数组。
关键你要干什么?要字节数组来干什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言里没有byte类型,估计你这个byte是char或者unsigned char的别名
更多追问追答
追问
遇到的问题是
我用fread读一个图片保存在一个char a[]里面,然后要把这个传到xml里面,可是xml不能识别某些特殊字符,我就想着把传的时候都转成二进制,可是我不会把字符串转成二进制,求解
追答
哦,读取图片肯定有一些byte不是可打印的字符,本来就是二进制的,不是字符串转二进制的问题。xml是文本文件,不能保存也不能显示不可打印的字符。你可以存储成16进制的数字串,比如你图片读出来的是 9A7BC3,你就保存这样的字符串"9A7BC3"在xml里面,不是直接保存就行的,你要把9A这个字节转换成'9'和'A'的ASCII码
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询