社区
C++ Builder
帖子详情
将Hex串,转换成对应的ASCII串的问题,谁能给我一个例子啊?
binue
2003-10-20 03:54:33
我现char*的如下hex串:
0x65 0x66 0x67 0x68……
或:
65 66 67 68……
等Hex串,我想将其转换成其十六进制值
对应的ASCII char*串,谁能帮我写一个函数啊?
由于小弟初学C++ ,写了一个问题多多,希望
那位大哥指教一下,小弟不盛感激,谢谢!!!!
...全文
99
9
打赏
收藏
将Hex串,转换成对应的ASCII串的问题,谁能给我一个例子啊?
我现char*的如下hex串: 0x65 0x66 0x67 0x68…… 或: 65 66 67 68…… 等Hex串,我想将其转换成其十六进制值 对应的ASCII char*串,谁能帮我写一个函数啊? 由于小弟初学C++ ,写了一个问题多多,希望 那位大哥指教一下,小弟不盛感激,谢谢!!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
binue
2003-10-21
打赏
举报
回复
fatwave(风中的雨)的函授数有很多缺陷,只考虑了理想情况,
如果其hex串带0x和空格的话,将得不到正确结果。
谢谢大家的指点。
binue
2003-10-20
打赏
举报
回复
我想的是将多个的连接在一起的十六进制串转换成其十六进制对应的ASCII串,
不要要将单个的十六进制串转换成对应的ASCII!!,
有没有好的办法啊!!
appleIIappleII
2003-10-20
打赏
举报
回复
StrToInt(你的字符串)即可
如你的字符串为0X65想去掉0x则可以用SubString()来完成,再用转StrToInt()
fatwave
2003-10-20
打赏
举报
回复
/*********************************进制转换**********************************/
//---------------------------------------------------------------------------
int communication::HtoD(unsigned char *hex_str, unsigned char *bin_str)
/*
"ba087d4012345678" -> {0xba, 0x08, 0x7d, 0x40, 0x12, 0x34, 0x56, 0x78}
For ASCII string and OS, not for EBCDIC string and OS.
Return: > 0 --- bin_str length
< 0 --- error
M.L.Y 1999.12.28
*/
{
int i, j, n;
int c1, h1, h2;
unsigned char *sh = hex_str, *sb = bin_str;
n = strlen(sh);
if(n < 2) return -1;
if(n % 2 != 0) return -2;
for(i = 0, j = 0; i < n; j++)
{
if((h1 = hex_to_num(sh[i++])) < 0) return -1;
if((h2 = hex_to_num(sh[i++])) < 0) return -1;
c1 = h1 << 4 | h2;
sb[j] = c1;
}
return j;
}
//---------------------------------------------------------------------------
int communication::DtoH(unsigned char *bin_str, int len, unsigned char *hex_str)
/*
{0xba, 0x08, 0x7d, 0x40, 0x12, 0x34, 0x56, 0x78} -> "ba087d4012345678"
For ASCII string and OS, not for EBCDIC string and OS.
Return: > 0 --- hex_str length
< 0 --- error
M.L.Y 1999.12.28
#include <stdio.h> 标准库
*/
{
int i, j;
unsigned char *sb = bin_str, *sh = hex_str;
for(i = 0, j = 0; i < len; i++, j+=2)
sprintf((char *)sh+j, "%02X", sb[i]);
sh[j] = NULL;
return j;
}
//---------------------------------------------------------------------------
int communication::hex_to_num(char hex1char)
/*
'a' or 'A' -> 10, '1' -> 1
If hex1char not in '0'-'9','A'-'F','a'-'f' return -1
*/
{
if(hex1char >= '0' && hex1char <= '9') return hex1char - '0';
if(hex1char >= 'A' && hex1char <= 'F') return hex1char - 'A' + 10;
if(hex1char >= 'a' && hex1char <= 'f') return hex1char - 'a' + 10;
return -1;
}
huangjuliang
2003-10-20
打赏
举报
回复
0x65
就是十六进制值数呀!
huangjuliang
2003-10-20
打赏
举报
回复
Edit1->Text=StrToInt("0x65");//Edit1->Text=101;
yjy1001
2003-10-20
打赏
举报
回复
..........
就算是初学 也应该看懂fatwave(风中的雨) 的函数吧
fatwave
2003-10-20
打赏
举报
回复
"ba087d4012345678" -> {0xba, 0x08, 0x7d, 0x40, 0x12, 0x34, 0x56, 0x78}
{0xba, 0x08, 0x7d, 0x40, 0x12, 0x34, 0x56, 0x78} -> "ba087d4012345678"
不是写的很清楚了吗?
Behard
2003-10-20
打赏
举报
回复
现在就开始做作业了吗?
java实现字符
转换成
十六进制的
ASCII
码
在这个
例子
中,我们遍历输入字符
串
中的每
一个
字符,将字符转换为其
对应
的
ASCII
码整数,然后使用`Integer.to
Hex
String()`方法将
ASCII
码转换为16进制字符
串
。最后,我们将结果打印出来。 递归在本
问题
中可能是指将较...
Hex
to
ASCII
.7z
在这个
例子
中,"
Hex
to
ASCII
.exe"是压缩包内的子文件,它是
一个
可执行文件,意味着用户只需双击就能启动这个转换工具,无需额外的配置或安装步骤。 使用“
Hex
to
ASCII
.exe”可能会涉及以下步骤: 1. 用户打开程序,...
java 字符
串
转16进制
Ascii
在Java编程语言中,将字符
串
转换为16进制
ASCII
值是
一个
常见的操作,尤其是在处理数据编码、网络通信或存储时。这个过程涉及到字符到数字的转换,并且通常使用`Character`类和`Integer`类的方法来完成。让我们深入...
把
ASCII
码转为十六进制数值
这个程序首先通过列表推导式获取每个字符的
ASCII
码
对应
的十六进制值,然后将这些值连接成
一个
字符
串
。注意,`
hex
()`函数返回的结果前有两个字符'0x',所以我们在调用时使用切片`[2:]`来去除它们。 在提供的`...
UTF8转16进制工具 Utf8To
Hex
标题中的"UTF8转16进制工具 Utf8To
Hex
"指的是
一个
能够将UTF-8编码的字符
串
转换成
16进制表示形式的实用工具。描述中提到的
例子
,中文的“你好”在UTF-8编码下是"\xE4\xBD\xA0\xE5\xA5\xBD",这个就是将UTF-8编码转换...
C++ Builder
13,870
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章