Byte数据可通过一定的自定义函数过程,将其转化成二进制字符串。
可先将Byte数据其10进制值用Hex函数转为16进制的字符串,然后通过自定义函数转成二进制字符串。
Hex 函数,返回代表十六进制数值的 String。
以下是VB60的处理代码。
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就展现其二进制字符串。
关注
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);
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)