一、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靜態函數,它接受一個字符參數,並將其轉換為相應的十六進制字符串。
原創文章,作者:KATC,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/149733.html