社区
C++ Builder
帖子详情
byte 类型数组如何转换为宽字符串?
fighterhht
2009-03-17 12:34:14
文件中有如下数据(为字串“2009”的宽字符码):
00 32 00 30 00 30 00 39
上面数据已读入一 byte 数组,请问如何将此数组转换为宽字符串?
...全文
668
19
打赏
收藏
byte 类型数组如何转换为宽字符串?
文件中有如下数据(为字串“2009”的宽字符码): 00 32 00 30 00 30 00 39 上面数据已读入一 byte 数组,请问如何将此数组转换为宽字符串?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
morris88
2009-03-29
打赏
举报
回复
或者
#define SWAP(x) (unsigned short)(((x) >> 8) | ((x) << 8))
unsigned int len = 10;
char *buf = "\x00\x32\x00\x30\x00\x30\x00\x39\xB1\xBE";
char16_t *tmp = (char16_t *)buf;
for (int i = 0; i < len / 2; i++) {
tmp[i] = SWAP(tmp[i]);
}
UnicodeString usTmp(tmp, len / 2);
morris88
2009-03-29
打赏
举报
回复
unsigned char *tmp = "\x00\x32\x00\x30\x00\x30\x00\x39\xB1\xBE";
UnicodeString usTmp;
usTmp.printf(L"%s", tmp);
你要的是不是这样的?我没看懂!
fighterhht
2009-03-29
打赏
举报
回复
求教!
fighterhht
2009-03-27
打赏
举报
回复
求教大侠!
fighterhht
2009-03-19
打赏
举报
回复
如何把下列位数据转换为字串呢:
00 32 00 30 00 30 00 39 B1 BE
really3353
2009-03-19
打赏
举报
回复
这是Unicode编码,不是ASCII编码,不过着不影响将它做转换,我同意5楼的观点。
zhangyuntian
2009-03-19
打赏
举报
回复
使用MultiByteToWideChar函数
gloam2018
2009-03-18
打赏
举报
回复
00 32 00 30 00 30 00 39
这样的数据形式,应该是unicode编码的,即使有汉字也没问题,
所以直接赋值就可以,memcpy().
lhsxsh
2009-03-18
打赏
举报
回复
用unicode 会好吧
fighterhht
2009-03-18
打赏
举报
回复
如果是下面的数据:
00 32 00 30 00 30 00 39 B1 BE
该如何(B1 BE 是汉字)?
fairchild811
2009-03-17
打赏
举报
回复
直接赋值
痞子酷
2009-03-17
打赏
举报
回复
呵呵,接分
xiaoshi0
2009-03-17
打赏
举报
回复
首先你要知道你读入的byte数组有多长,就拿你当前的例子来说,有8个字节,比如说字符数组是如下样子的:
BYTE bytes[8];
那么你应该创建一个宽字符的数组,当然长度应该是你字节数组的一半+1那么大,如下:
wchar_t *sz = new wchar_t[sizeof(bytes)/2 + 1];
然后用内存拷贝的方式将你的字节数组拷贝到字符数组中,并且在最后一个字符赋值为0,如下:
memcpy(sz, bytes, sizeof(bytes));
sz[sizeof(bytes)] = 0;
最后用WideString的拷贝构造函数创建一个宽字符串,并删除原来分配的内存,如下:
WideString str = sz;
delete[] sz;
preserve
2009-03-17
打赏
举报
回复
直接赋值就行了
nbzip
2009-03-17
打赏
举报
回复
byte pp[8];
pp[0]='00';
pp[1]='32';
pp[2]='00';
pp[3]='30';
pp[4]='00';
pp[5]='30';
pp[6]='00';
pp[7]='39';
AnsiString str="";
for(int i=0;i<8;i++)
{
pp[i+1]=pp[i+1]^pp[i];
str=str+IntToStr(pp[i+1]);
i++;
}
ShowMessage(str);
fighterhht
2009-03-17
打赏
举报
回复
如果包含汉字,又如何处理呢?
我不懂电脑
2009-03-17
打赏
举报
回复
WideString str = byte;
nbzip
2009-03-17
打赏
举报
回复
用ASC码来说的话,共有FF个字符.
你是宽字符串的话,就是用FF FF来表示.(好像为了汉字等一些特别的字符而考虑的)
你只要把00 32 00 30 00 30 00 39,这串,按二位串好了.如"00 32","00 30"....然后分别转化为ASCII码.
MouseSoft
2009-03-17
打赏
举报
回复
頂一下
php
字符串
与
byte
字节
数组
转化类.zip
介绍php
字符串
与
byte
字节
数组
转化类,
转换
一个String
字符串
为
byte
数组
,将字节
数组
转化为String
类型
的数据,
转换
一个int为
byte
数组
,从字节
数组
中指定的位置读取一个Integer
类型
的数据,
转换
一个shor
字符串
为
byte
数组
,从字节
数组
中指定的位置读取一个Short
类型
的数据。
一个
byte
数组
与
字符串
转化类库
这个类库可以实现 1.
转换
一个String
字符串
为
byte
数组
2.将字节
数组
转化为String
类型
的数据 3.
转换
一个int为
byte
数组
4.从字节
数组
中指定的位置读取一个Integer
类型
的数据 5.
转换
一个shor
字符串
为
byte
数组
6.从字节
数组
中指定的位置读取一个Short
类型
的数据
C#各种数据
类型
转换
C#各种数据
类型
转换
,
字符串
转换
char
数组
,char
数组
转换
字符串
,
byte
数组
转换
字符串
,
字符串
转换
byte
数组
注意
转换
出来会使原来的
byte
array长度变短,
字符串
转换
byte
数组
长度为传如的长度,将
字符串
编码为Base64
字符串
,将Base64
字符串
解码为普通
字符串
,图片
转换
byte
数组
,
byte
数组
转换
图片,ip
转换
长整形,长整形
转换
IP,将8位日期型整型数据
转换
为日期
字符串
数据,string型
转换
为bool型,
String(含Hex)与
Byte
数组
互相
转换
[代码]
1.
字符串
(String)与
Byte
[] 的互相
转换
. 2.Hex(String形式)与
Byte
[] 的互相
转换
.
一个
byte
数组
与
字符串
转化类库.zip
这个类库可以实现 1.
转换
一个String
字符串
为
byte
数组
2.将字节
数组
转化为String
类型
的数据 3.
转换
一个int为
byte
数组
4.从字节
数组
中指定的位置读取一个Integer
类型
的数据 5.
转换
一个shor
字符串
为
byte
数组
6.从字节
数组
中指定的位置读取一个Short
类型
的数据 需要的朋友可以参考下,方便大家学习php
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章