如何将hex值转为字符串
java中 hex 转换成字符串方法:
public class Test {
private static String hexString = "0123456789ABCDEFabcdef";
public static void main(String[] args) {
String msg= "亲,你好";
System.out.println(encode(msg));
System.out.println(decode(encode(msg)));
}
public static String encode(String str) {
byte[] bytes = str.getBytes();
StringBuilder sb = new StringBuilder(bytes.length * 2);
//转换hex编码
for (byte b : bytes) {
sb.append(Integer.toHexString(b + 0x800).substring(1));
}
str = sb.toString();
return str;
}
//把hex编码转换为string
public static String decode(String bytes) {
bytes = bytes.toUpperCase();
ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);
// 将每2位16进制整数组装成一个字节
for (int i = 0; i < bytes.length(); i += 2)
baos.write((hexString.indexOf(bytes.charAt(i)) << 4 | hexString.indexOf(bytes.charAt(i + 1))));
return new String(baos.toByteArray());
}
}
unit encodeAndDecode;
{
该单元实现对字符串的简单加密解密。
加密方法是取得一个char的ASCII码,然后把它转换成十六进制。
}
interface
uses SysUtils;
function encode(source:string):string;
function decode(source:string):string;
implementation
function encode(source:string):string;
var
i,Ascii,strLen:integer;
a:char;
hex:string;
begin
result:='';
strLen:=length(source);
for i:=1 to strLen do
begin
a:=source[i];
ascii:=ord(a);
hex:=intToHex(ascii,2);
result:=result+hex;
end;
end;
function decode(source:string):string;
var
i,ascii,strLen:integer;
a:char;
str:string;
begin
strLen:=length(source);
result:='';
i:=1;
while i<= strlen do
begin
str:=copy(source,i,2);
ascii:=strToint('$'+str);
a:=chr(ascii);
result:=result+a;
inc(i,2);
end;
end;
end.
能看懂上面的代码,你就会了!
文件必须存成utf-8格式
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div id="d1">
<script type="text/javascript">
var hi = '7465737420e6b58be8af95';
//var hj = '%74%65%73%74%20%e6%b5%8b%e8%af%95';
var hj = prePro(hi);
document.write(hi);
document.write('<br />');
document.write(hj);
document.write('<br />');
document.write(decodeURI(hj));
function prePro(data)
{
if (data.length % 2) return '';
var tmp='';
for(i=0;i<data.length;i+=2)
{
tmp += '%' + data.charAt(i) + data.charAt(i+1);
}
return tmp;
}
</script>
</div>
</body>
</html>
原型:
void WINAPI icePub_BCDHexToHexString(BYTE *hexBuffer,BYTE *strHexString,int hexBufferLen)
输入:hexBuffer hex数据
hexBufferLen hexBuffer的长度
输出:strHexString 展开后hex文本串
返回码:
extern "C"
{
__declspec(dllexport)
void WINAPI icePub_BCDHexToHexString(BYTE *hexBuffer,BYTE *strHexString,int hexBufferLen);
}
#pragma comment(lib,"icePubDll.lib")
char str1[128];
icePub_BCDHexToHexString("月光",str1,8);
AfxMessageBox(str1);
Private Declare Function icePub_BCDHexToHexString Lib "icePubDll.dll" (ByVal hexBuffer As String,ByVal strHexString As String,ByVal hexBufferLen As Integer) As Integer
Dim str1 As String
Dim a2 As Integer
str1=Space(1024*30)
a2=icePub_BCDHexToHexString("月光",str1,8)
MsgBox str1
IntToHex
hex对应的二进制?
Hex,即十六进制,是一种数制表示法,其中每个字符代表四位二进制数。十六进制系统中,每个数字0-9分别对应二进制的0000-1000,而A-F分别代表1000-1111。因此,要将hex转换为二进制,首先需要理解每个十六进制字符代表的二进制值。例如,A对应1010,B对应1011,以此类推。具体转换方法是将每个十六进制...
hex帮忙转化成字符
用Delphi的HexToStr即可
hex值转换Unicode
Unicode 文件 分 大端码(big-endian) 和小端码(little-endian)8279 大端码, 7982 小端码 区分大端小端用 "BOM"也就是文件开始的两个字节。如果会写 C 程序,如果有BOM 改一下 "BOM",如果没有,加一下 "BOM":0xFEFF 是大端 0xFFFE 是小端 把hex文件开始的两个字节改0xFFFE,其它不变...
java中 hex 转换成字符串 怎么转
bytes) { sb.append(Integer.toHexString(b + 0x800).substring(1)); } str = sb.toString(); return str; } \/\/把hex编码转换为string public static String decode(String bytes) { bytes = bytes.toUpperCase();...
hex文件如何转化成C语言?
文件有两种,一种是文本文件,一种是程序二进制文件,不管哪种文件都可以用十六进制编码来显示,称为hex文件。 1、文本Hex文件一般不需要转成C语言,更多的是程序二进制文件,用十六进制显示,可以转换成C语言,一般使用相应的反汇编程序来实现,这方面的工具很多,不同的平台略有不同。Windows平台一般常用的OllyDbg、Windbg...
十六进制数怎么转换成为十进制、、
解答过程如图所示:十六进制(简写为hex或下标16)在数学中为一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字。
C# 如何将抓包工具抓到的Hex字符串转换为Byte[]型呢
Encoding.ASCII.GetBytes(sendStr) 其实应该是可以的,你的要是不行就用上面的方法
串口怎么发送HEX给上位机(用文本形式显示),或者怎样将HEX转变为...
回答:显然要做转换 你什么语言? 推荐看书 Visual C++_Turbo C串口通信编程实践 Visual_Basic与_RS-232_串行通信控制 Delphi串口通信工程开发实例导航
3分钟带你了解 Go 密码学编程之 Hex 编码!
在数值存储时,比如数字1,其1Byte内为0000'0001,而字符"1"对应的则是0011'0001。许多文章在此点上存在混淆,忽视了数值和字符在底层存储上的差异。在Hex编码过程中,首先将8bit分为两部分,高位转为十六进制,低位同样操作,然后寻找对应的ASCII码。例如,高4位的1110转为十六进制的'e',ASCII码为...
为什么ASCII码值要用16进制数来表示?
在提供的代码片段中,第一个Sub子程序的目的是将文本框Text1中的字符转换为其对应的16进制ASCII码值,并显示在Text2中。它使用Asc函数获取字符的ASCII码值,然后用Hex函数将该值转换为16进制数。第二个Sub子程序的目的是将文本框Text1中的字符转换回原始字符。它首先使用Asc函数获取字符的ASCII码值,...
叶侍佑苏: java中 hex 转换成字符串方法: public class Test {private static String hexString = "0123456789ABCDEFabcdef"; public static void main(String[] args) { String msg= "亲,你好"; System.out.println(encode(msg)); System.out.println(decode(...
镇康县18062664482: java中hex转换成字符串怎么转 - ?
叶侍佑苏: public class Test { private static String hexString = "0123456789ABCDEFabcdef"; public static void main(String[] args) { String msg= "亲,你好"; System.out.println(encode(msg)); System.out.println(decode(encode(msg))); } public static ...
镇康县18062664482: 求助 整数转换成十六进制字符串 - ?
叶侍佑苏: 根据编程语言,编写转换函数或使用内部函数,可将整数转换为十六进制字符串.VB6.0可使用Hex函数,将整数转换为十六进制字符串.Hex 函数,返回代表十六进制数值的 String.Hex 函数示例 本示例使用 Hex 函数来得到某数值的 16 进制值.Dim MyHex MyHex = Hex(5) ' 返回 5.MyHex = Hex(10) ' 返回 A.MyHex = Hex(459) ' 返回 1CB.
镇康县18062664482: 威纶触摸屏如何将数字转成字符串? - ?
叶侍佑苏: HEX2ASCII函数
镇康县18062664482: 如何将16进制数字转换成字符串 java - ?
叶侍佑苏: 使用这个方法可以传进去的16进制的数字组成的字符串转化为utf-8格式的字符串public static String toStringHex1(String s) { byte[] baKeyword = new byte[s.length() / 2]; for (int i = 0; i < baKeyword.length; i++) { try { baKeyword[i] = (byte) (0xff & ...
镇康县18062664482: lua中如何将hexstring转化为string?是通过snmp采集返回的结果如下: - ?
叶侍佑苏: function hex2string(hex) local str, n = hex:gsub("(%x%x)[ ]?", function (word) return string.char(tonumber(word, 16)) end) return str end 用这个函数即可
镇康县18062664482: 如何用VB实现16转10进制 - ?
叶侍佑苏: 使用 VB Hex 函数即可.Hex 函数可以将一个数值转换为16进制的字符串String类型.语法:Hex(number)实例: Msgbox Hex(3) '3 Msgbox Hex(10) 'A Msgbox Hex(123) '7B Msgbox Hex(&H123) '123
镇康县18062664482: hex怎么转换成?
叶侍佑苏: 不要找程序了,我写了段js代码,保存为a.html(网页).浏览器打开就行了 <html> <head> <script type="text/javascript"> function yunsuan(num){ var num=parseInt(num,16); var show=document.getElementById("show"); show....
镇康县18062664482: VB的中HEX函数 - ?
叶侍佑苏: 不要抠字眼,Hex()函数的作用是将一个整数,整数表达式,或者整数字符串转化为一个16进制的数字. 虽然你说的 "abc" 也是字符串,但它不是整数字符串,因此会出错.另外,如果你的参数不是整数,即 为小数的话,会先将小数转换为整数(采用四舍五入)再进行进制转换.
镇康县18062664482: 如何将16进制的字符串如"FF",转换成2进制字符串"11111111",需要转换的16进制字符串非常的长! - ?
叶侍佑苏: 想转多长的串都可以 , 改一下char *str16="1FAB2DC" ; 这里的常量内容就可以了#include <stdio.h>#include <string.h>#include <malloc.h>#include <stdlib.h> int main() { char *str[16]={ "0000","0001","0010","0011","0100","...