BYTE数据怎么转化成二进制字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BYTE数据怎么转化成二进制字符串相关的知识,希望对你有一定的参考价值。
C++或者C
Byte数据可通过一定的自定义函数过程,将其转化成二进制字符串。
可先将Byte数据其10进制值用Hex函数转为16进制的字符串,然后通过自定义函数转成二进制字符串。
Hex 函数,返回代表十六进制数值的 String。
以下是VB6.0的处理代码。
Option ExplicitDim sBin
Dim sHex
Dim BinData
Const s1 = "0000101001101111000", s2 = "0125A4936DB7FEC8"
Dim yTemp() As Byte
Private Sub Command1_Click()
If Val(Text1) < 128 Then
sHex = Right("0" & Hex(Text1), 2)
Call HexToBin(sHex)
Text2 = BinData
Else
sHex = Hex(Text1)
Call HexToBin(sHex)
Text2 = BinData
End If
End Sub
Public Function HexToBin(ByVal sHex As String) As String
Dim i As Integer, sBin As String
sHex = UCase(sHex)
For i = 1 To Len(sHex)
sBin = sBin & Mid(s1, InStr(1, s2, Mid(sHex, i, 1)), 4)
Next i
HexToBin = sBin
BinData = sBin
End Function
Private Sub Form_Load()
Text1 = ""
Text2 = ""
End Sub
在Text1中输入Byte数据的10进制值,Text2就展现其二进制字符串。
参考技术Avoid b2s(char s[],int c)
char i=0,j=0,t;
while(c)
s[i++]=48+c%2;
c>>=1;
s[i--]=0;
while(i>j)
t=s[i];s[i--]=s[j];s[j++]=t;
return s;
void main()
char s[9];
int n;
scanf("%ud",&n);
b2s(s,n);
puts(s);
java怎样把字符串转化为二进制形式?
比如:
String str = "你好!";
怎么将 你好 转为二进制形式??
---------------------------------
这样的方法可以吗??
private void save()
String str = "你好";
try
DataOutputStream dataOut = new DataOutputStream(new FileOutputStream("d://test.hk"));
int length = str.length();
for (int i = 0; i < length; i++)
dataOut.write(str.charAt(i));
DataInputStream dataIn = new DataInputStream(new FileInputStream(
"d://test.hk"));
System.out.println();
catch (Exception e)
e.printStackTrace();
目的是将 你好 以二进制形式写入文档中,上面的方法可以吗?
import java.util.Arrays;
/*
* String(byte[] bytes, String charsetName):通过指定的字符集解码字节数组
* byte[] getBytes(String charsetName):使用指定的字符集合把字符串编码为字节数组
*
* 编码:把看得懂的变成看不懂的
* String -- byte[]
*
* 解码:把看不懂的变成看得懂的
* byte[] -- String
*
* 举例:谍战片(发电报,接电报)
*
* 码表:小本子
* 字符 数值
*
* 要发送一段文字:
* 今天晚上在老地方见
*
* 发送端:今 -- 数值 -- 二进制 -- 发出去
* 接收端:接收 -- 二进制 -- 十进制 -- 数值 -- 字符 -- 今
*
* 今天晚上在老地方见
*
* 编码问题简单,只要编码解码的格式是一致的。
*/
public class StringDemo
public static void main(String[] args) throws UnsupportedEncodingException
String s = "你好";
// String -- byte[]
byte[] bys = s.getBytes(); // [-60, -29, -70, -61]
// byte[] bys = s.getBytes("GBK");// [-60, -29, -70, -61]
// byte[] bys = s.getBytes("UTF-8");// [-28, -67, -96, -27, -91, -67]
System.out.println(Arrays.toString(bys));
// byte[] -- String
String ss = new String(bys); // 你好
// String ss = new String(bys, "GBK"); // 你好
// String ss = new String(bys, "UTF-8"); // ???
System.out.println(ss);
参考技术A //将字符串转换成二进制字符串,以空格相隔
private String StrToBinstr(String str)
char[] strChar=str.toCharArray();
String result="";
for(int i=0;i<strChar.length;i++)
result +=Integer.toBinaryString(strChar[i])+ " ";
return result;
本回答被提问者和网友采纳
以上是关于BYTE数据怎么转化成二进制字符串的主要内容,如果未能解决你的问题,请参考以下文章