二进制转换为string字符串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二进制转换为string字符串?相关的知识,希望对你有一定的参考价值。

想实现二进制转换为string字符串。例如:字符串 “00000369”对于的二进制码流为“30 30 30 30 30 33 36 39” 。现在如何实现从二进制码流“30 30 30 30 30 33 36 39”转换为字符串“00000369”呢?求高手指教
补充一下。我希望在java中实现。另外,比如说我获得一个字符串“00000369”,如何转化成16进制的“30 30 30 30 30 33 36 39”。同时,我如果获得一个16进制的“30 30 30 30 30 33 36 39”又和转换为字符串“00000369”。请求高手指教。多谢

在C语言中,比较简单,因为C的字符串就是以0为结束符的二进制流:
#include <iostream>
#include <string.h>
using namespace std;
void main()

char buf[] = 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x36, 0x39 ; // 二进制流
char str[256];
strncpy( str, buf, sizeof( buf ) ); // 直接复制二进制流
str[ sizeof( buf ) ] = '\0'; // 在结尾加0,作为结束符
cout << str << endl;
追问

我写的有些问题,想在java中实现,另外,实现的是16进制和字符串的互转。能给提供一下代码吗?多谢。

追答

呵呵,请知道上的Java大牛们来回答该问题吧。

参考技术A 有转换的工具的,网上有的 ,你搜 进制转换器 ,多的是 参考技术B 自己看书吧

如何将string类型的数字转换成int

atoi和tcstoul、tcstol都可以把const
char*指向的字符串转换为数字。区别在于atoi将字符串当作一个“有符号十进制整数”来转换为int值,而tcstoul/tcstol则可以将十进制、二进制、八进制、十六进制等进制表示的数字字符串转换为unsigned
int或者int。
示例代码如下:
string
str
=
"123";
int
a
=
atoi(
str.c_str()
);//a为123
int
b
=
tcstol(
str.c_str(),
NULL,
10
);//b为123
或者
string
str
=
"A";//十六进制表示的数字。
int
a
=
tcstol(
str.c_str(),
NULL,
16
)//a为10
参考技术A 定义成string的数字,在进行数学计算时,需要int32.parse()
定义成int型的数字,在输出(向控件text等属性赋值)时,需要tostring()
看你业务和个人习惯怎么样了...
如果只是暂存或者作为get()-set()中转一下,不牵涉或少牵涉计算,可以用string.
如果需要进得多次计算,还是用数学型的吧.

以上是关于二进制转换为string字符串?的主要内容,如果未能解决你的问题,请参考以下文章

String 和 16进制转换

在python中将二进制转换为字符串

如何将string类型的数字转换成int

将String转换为二进制时缺少一位

(C#)把一个byte数组转换成一个二进制流!

JAVA:string类型转换int(16进制)