BYTE数据怎么转化成二进制字符串

BYTE数据怎么转化成二进制字符串,第1张

Byte数据可通过一定的自定义函数过程,将其转化成二进制字符

可先将Byte数据其10进制值用Hex函数转为16进制的字符串,然后通过自定义函数转成二进制字符串。

Hex 函数,返回代表十六进制数值的 String。

以下是VB60的处理代码。

Option Explicit

    Dim 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就展现其二进制字符串。

关注

1、16进制编码转化为字符编码

[cpp] view plain copy

#include "stdafxh"

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR argv[])

{

// 待输出的字符串(16进制编码表示)

char sztext[1024] = "\x63\x2B\x2B\xCD\xF8\xC2\xE7\xB1\xE0\xB3\xCC\xA3\xA1";

int nRead = strlen(sztext);

// 存储还原后的字符串

char sz2[1024] = "";

for (int i = 0;i < nRead;++i)

{

// 将16进制编码还原字符串

if(sztext[i] < 0)

sz2[i] = sztext[i] - 256;

else

sz2[i] = sztext[i];

}

// 输出还原后的字符串

printf("%s\n",sz2);

return 0;

}

2、字符编码转化为16进制编码

[cpp] view plain copy

#include "stdafxh"

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR argv[])

{

char sztext[1024] = "c++网络编程!";//

int nRead = strlen(sztext);

char sz2[1024] = "";

for (int i = 0;i < nRead;++i)

{

int nind = 0;

// 将字符编码转转换为16进制编码

if(sztext[i] < 0)

nind = sztext[i] + 256;

else

nind = sztext[i];

char szTemp[10]="";

// 16进制用小写表示,格式化串用“%02x”

// 16进制用大写表示,格式化串用“%02X”

sprintf(szTemp,"%02X ",nind);

strcat(sz2,szTemp);

}

printf("%s\n",sz2);

return 0;

}

打开CSDN,阅读体验更佳

参与评论 请先 登录 后发表或查看评论

16进制与字符串相互转换(C语言)_kkconan的博客_十六进制字符

16进制转换成字符串函数 /16 jinzhi Hex transform to ascii string/ void HexToAscii(uint8_t src, char dest, int len) { char dh,dl; //字符串的高位和低位 int i; if(src == NULL || dest == NULL) { prin

C语言 文本字符串和十六进制形式的相互转换_Genven_Liang的博客-CSDN博

有的数据包含不可见字符,直接打印出来会不可见或残缺,需要转换为十六进制直接看ASCII码值。 二、测试代码 #include<stdioh> #include<stringh> / ASCII字符 '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'

十六进制码与ASCII码的相互转换实现

本资源为十六进制码与ASCII码的相互转换实现,包括两个函数。

16进制转成字符串

16进制转字符串

继续访问

十六进制与字符串互转_苏格拉底冲的博客

#include <stdioh>#include <stringh>// 将字符串按照16进制的方式转到buff// 如:"12345678" 转为 0x12 0x34 0x56 0x78// desc转换后的存放顺序,=true:0x78 0x56 0x34 0x12 3100010010010036

16进制和字符串互相转换_赵自煜的博客_16进制字符串转

fromCharCode(parseInt(arr[i], 16)); //将分组后的16进制字符串转10进制Unicode码,然后将Unicode码转换为字符 } return result }, groupArray: function(str) { let result = new Array(); for (let i = 0; i < str

最新发布 字符串(汉字)与16进制字符串转换(无乱码)

代码字符串(汉字)与16进制字符串转换(无乱码)

继续访问

从十六进制码字符串中还原文件

最近在做一个项目,用JBuilder 2005和DB2 70开发。用QueryDataSet取DB2中Blob字段时遇到一个问题:QueryDataSet不能用getBinaryStream()的方 法取blob的数据,默认只能用getString()的方法,取出的string里面存放的是16进制流的字符串,把这个字符串转换成二进制流之后输出 到文件,却是乱码。 从网上找到资料,原来需要

继续访问

十六进制与字符串的转换_老朽在门外的博客

函数名称: str_to_hex 函数功能: 字符串转换为十六进制输入参数: string 字符串 cbuf 十六进制 len 字符串的长度。输出参数: 无 / static int str_to_hex(char string, unsigned char cbuf, int len) { BYTE high

十六进制Unicode编码字符串与中文字符串的相互转换

图书馆客户端项目中遇到的一个问题,得到的URL 是这样的 String baseurl = "http://innopaclibxjtueducn/availlim/search~S1chx/X{u848B}{u4ECB}{u77F3}&searchscope=1&SORT=DZ/X{u848B}{u4ECB}{u77F3}&searchscope=1&SORT=DZ&exte

继续访问

16进制与字符串互相转换(binascii模块的使用)

binascii模块主要用于二进制数据(byte类型数据)和ASCII的转换 在16进制和字符串的转换过程中,主要用到了以下几个函数: a2b_hex():返回16进制的二进制数据表现形式 b2a_hex():返回二进制数据的16进制表现形式 hexlify():返回二进制数据的16进制表现形式 unhexlify():返回16进制的二进制数据表现形式 字符串转换成16进制数据 主

继续访问

将16进制的字符串转换为对应的字符

16进制的ASCII字符串转换为对应字符串

继续访问

java 16进制转中文乱码

将utf-8改为GBK即可 public static String hexStr2Str(String hex) { String hexStr = ""; String str = "0123456789ABCDEF"; //16进制能用到的所有字符 0-15 for(int i=0;i<hexlength();i++){ String s = hexsubstring(i, i+1); if(

继续访问

编解码:十六进制编解码

编解码:十六进制编解码 信息有多种表现形式:二进制、十进制、十六进制、字符串… 在计算机中,信息是以二进制的形式来表现。 可以人为定义:0就是假,1就是真,等等。 所谓编解码,是将一种数据以另一种形式来表现,若正向变换称为编码,则其逆向过程则为解码。 计算机中,数据的本质是一串二进制0和1的字符串。 例如,二进制字符串0a代表十进制字符串10,十进制字符串255以二进制的形式表现则为0

继续访问

16进制转指定编码的字符串

  前几天公司进行业务升级,需要将数据上链(之前只是将业务hash上链),上链后发现区块链平台没有对上上去的数据进行处理,取下来就是一串16进制的字符。因为我们这边需要将上链的数据进行回显,所以需要对这些16进制数据进行转换。问了区块链平台的人,这些字符是char类型且是按utf-8编码的,所以就可以确定是2个字节为一组的。 思路 最终肯定是要调用jdk提供的方法,按照utf-8进行解码。但是java直接处理16机制数不太方便,所以思路就是先将16进制数转换为10进制数存入byte数组中,最后调用new S

继续访问

java 16进制与字符串互相转

/ 字符串转换成为16进制(无需Unicode编码) @param str @return / public static String str2HexStr(String str) { char[] chars = "0123456789ABCDEF"toCharArray(); StringBuilder sb = new StringBuilder(""); byte[

继续访问

将字符串转换为与之对应的16进制字符串

字符转换为ASCII码并以其16进制字符显示

继续访问

java 16进制编码字符串与字符串转换方法总结

import javaioByteArrayOutputStream; import javaioUnsupportedEncodingException; / 16进制编码数字工具类 <p>Title: HexUtils</p> <p>Description: </p> @author yuhy @date 2019年6月

继续访问

C++对数据进行16进制编码&解码(hex encode)

本例演示使用16进制对数据进行编码 先定义几个工具函数用于将数字转为16进制表示或者将16进制表示转换为数字: // 将数字转为16进制(大写) inline char ToHexUpper(unsigned int value) { return "0123456789ABCDEF"[value & 0xF]; } // 将数字转为16进制(小写) inline char ToHexLower(unsigned int value) { return "0123456789a

继续访问

二进制、八进制、十进制、十六进制转换与编码

“转换”的概念在数据表示中的反映 信息的二进制编码 机器级数据分两大类 1、 数值数据:无符号整数、带符号整数、浮点数(实数) 2、非数值数据:逻辑数(包括位串)、西文字符和汉字 计算机内部所有信息都用二进制(即:0和1)进行编码 用二进制编码的原因 1、制造二个稳定态的物理器件容易(电位高/低,脉冲有/无,正/负极) – 二进制编码、计数、运算规则简单 2、正好与逻辑命题真/假对应,便于逻辑运算 3、 可方便地用逻辑电路实现算术运算 4、 真值和机器数 ( 非常重要的概念!) –– 机器数:用0和1编码

继续访问

十六进制的字符串转十六进制

private static byte[] hexToBytes(String hexString) { if (TextUtilsisEmpty(hexString)) throw new IllegalArgumentException("this hexString must not be empty"); hexString

继续访问

android java 串口16进制接收 tohex,java八进制、十进制、十六进制(hex)ASCII码字符串和String互转

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?笔者在做Android串口开发的时候,与串口设备间的通信经常内容都是16进制的发送命令的时候需要先把命令转成16进制的ASCII字符串。接收到设备的反馈时需要把16进制的ASCII字符串转成对应的明文。比如我们要发送的明文为ABCDEF,需要先转成对应的16进制ASCII码字符串414243444546比如我们收到的反馈

继续访问

十六进制和字符串的转换

1、16进制和字符串互转工具 2、查看字符编码(UTF-8)的码值 3、shell中直接查看16进制对应的字符串,命令如下: 4、字符串转16进制的原理:某个字符在字符编码中的码值即为该字符的16进制值,如字符我的码值为15108241,则对应的16进制值为E68891

继续访问

热门推荐 字符串和16进制之间的转换

在串口传递数据的时候数据格式是16进制的,但是存下来的数据为了方便查看,用字符串存储下来了。例如串口传递的数据是0xAA 0xBB 0xCC,存储下来的文件为AABBCC,这样存储带来的问题就是无法直接通过串口再发送出去,所以需要转换一下。在实现转换之前,先看一个16进制和字符的对应关系,如下所述。 用16进制打开一个文件如下图: 文件的大小是5个字节 为啥文件里面以01作为一个字节呢,其实是

继续访问

ASCII码16进制对照表

ASCII码对照表 ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。 ASCII第一次以规范标准的型态发表是在1967年,最后一次更新则是在1986年,至今为止共定义了128个字符,其中33个字符无法显示(这是以现今 *** 作系统为依归,但在DOS模式下可显示出一些诸如笑

继续访问

16进制和字符转换

写评论

#include<stdioh>

char to_dec_str(char hex_array, char str)

{

int i;

for(i=0;i<2;i++)

{

char t = hex_array[i];

hex_array[i] = hex_array[3-i];

hex_array[3-i] = t;

}

int pDec = (int)hex_array;

i = 0;

do{

str[i] = pDec % 10 + '0';

pDec = pDec / 10;

i++;

}while(pDec);

for(int j=0;j<i/2;j++)

{

char t = str[j];

str[j] = str[i-1-j];

str[i-1-j] = t;

}

str[i] = '\0';

return str;

}

int main()

{

char BUF1[]={0x11,0x22,0x33,0x44};

char BUF2[11];

to_dec_str(BUF1, BUF2);

puts(BUF2);

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/11669342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存