一、C语言十六进制转字符串
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* StrToHex(char* str, char* hex)
{
int len = strlen(str);
for (int i = 0; i < len; i++) {
sprintf(hex + i * 2, "%02X", str[i]);
}
return hex;
}
int main()
{
char* str = "Hello, World!";
char hex[1024] = {0};
printf("字符串 : %s\n十六进制 : %s\n", str, StrToHex(str, hex));
return 0;
}
C语言中,我们可以使用sprintf函数将字符串转换为十六进制数,并将结果存储在一个字符数组中。上面的代码中,我们定义了一个StrToHex函数,它将字符串中的每个字符转换为相应的十六进制数,并将结果存储在字符数组hex中。
在主函数中,我们定义了一个字符串str,调用StrToHex函数将其转换为十六进制字符串,并将结果打印出来。
二、C十六进制字符串转数字
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int HexToInt(char* hex)
{
int len = strlen(hex);
int result = 0;
for (int i = 0; i < len; i++) {
if (isdigit(hex[i])) {
result = result * 16 + hex[i] - '0';
} else {
result = result * 16 + toupper(hex[i]) - 'A' + 10;
}
}
return result;
}
int main()
{
char* hex = "2A";
printf("十六进制字符串 : %s\n转换后的数字 : %d\n", hex, HexToInt(hex));
return 0;
}
上面的代码中,我们定义了一个HexToInt函数,它将一个十六进制字符串转换为相应的数字并返回。在函数中,我们使用一个循环遍历字符串中的每个字符,并使用isdigit函数和toupper函数判断字符是否是数字或字母(大写或小写)。如果是数字,则将其转换为相应的数字;如果是字母,则将其转换为相应的十六进制数值并加上10。
三、C字符串转十六进制
#include <stdio.h>
#include <string.h>
void StrToHex(char* str, char* hex)
{
int len = strlen(str);
for (int i = 0; i < len; i++) {
sprintf(hex + i * 2, "%02X", str[i]);
}
}
int main()
{
char* str = "Hello, World!";
char hex[1024] = {0};
StrToHex(str, hex);
printf("字符串 : %s\n十六进制 : %s\n", str, hex);
return 0;
}
与第一个例子类似,我们可以使用sprintf函数将字符串转换为十六进制数,并将结果存储在一个字符数组中。不同的是,上面的代码中定义了一个StrToHex函数,它在转换完每个字符后将相应的十六进制数存储在字符数组hex的相邻两个位置中。
四、字符串转十六进制在线转换
这里我们提供一个在线的字符串转十六进制工具,方便大家快速进行转换: https://tool.oschina.net/hexconvert
五、十六进制字符串转数字
public static int HexToInt(String hex) {
return Integer.parseInt(hex, 16);
}
public static void main(String[] args) {
String hex = "2A";
System.out.println("十六进制字符串 : " + hex);
System.out.println("转换后的数字 : " + HexToInt(hex));
}
在java中,我们可以使用Integer.parseInt函数将一个十六进制字符串转换为相应的数字。上面的代码中,我们定义了一个HexToInt静态函数,它接受一个字符串参数,并将其转换为十六进制数值。
六、C#十六进制字符串转十进制数
using System;
class Program
{
static void Main()
{
string hex = "2A";
Console.WriteLine("十六进制字符串 : " + hex);
Console.WriteLine("转换后的十进制数 : " + Convert.ToInt32(hex, 16));
}
}
在C#中,我们可以使用Convert.ToInt32函数将一个十六进制字符串转换为相应的十进制数。上面的代码中,我们定义了一个静态Main函数,它首先定义了一个字符串变量hex,将其初始化为"2A"。然后,我们调用Convert.ToInt32函数将hex转换为十进制数,并将其输出。
七、C语言实现字符串转十六进制
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* HexToStr(char* hex, char* str)
{
int len = strlen(hex);
for (int i = 0; i < len; i += 2) {
sscanf(hex + i, "%02x", &str[i / 2]);
}
return str;
}
int main()
{
char* hex = "48656C6C6F2C20576F726C6421";
char str[1024] = {0};
printf("十六进制 : %s\n字符串 : %s\n", hex, HexToStr(hex, str));
return 0;
}
上面的代码中,我们定义了一个HexToStr函数,它将一个十六进制字符串转换为相应的字符串并返回。在函数中,我们使用sscanf函数将字符串中的每个相邻两个字符作为一个十六进制数读入并将结果存储在一个字符数组中。
八、VB字符串转十六进制
Sub StrToHex(ByVal str As String, ByRef hex As String)
For i = 1 To Len(str) Step 1
hex = hex + Hex(Asc(Mid(str, i, 1)))
Next i
End Sub
Sub Main()
Dim str As String
Dim hex As String
str = "Hello, World!"
StrToHex str, hex
MsgBox "字符串: " & str & vbCrLf & "十六进制: " & hex
End Sub
VBA中,我们可以使用Hex函数将一个字符串转换为十六进制数。上面的代码中,我们定义了一个Sub StrToHex函数,它接受两个参数,分别是要转换的字符串和存储转换结果的字符串。在函数中,我们使用一个循环遍历字符串中的每个字符,并使用Asc函数获取每个字符的ASCII码值,然后使用Hex函数将其转换为相应的十六进制数并将结果存储在字符串hex中。
九、字符转十六进制字符串
public static String CharToHex(char c) {
return String.format("%02X", (int) c);
}
public static void main(String[] args) {
char c = 'A';
System.out.println("字符 : " + c);
System.out.println("十六进制字符串 : " + CharToHex(c));
}
在java中,我们可以使用String.format函数将一个字符转换为相应的十六进制字符串。上面的代码中,我们定义了一个CharToHex静态函数,它接受一个字符参数,并将其转换为相应的十六进制字符串。