Heim  >  Artikel  >  Computer-Tutorials  >  Wie konvertiert man mit JAVA Hexadezimalzahlen in Zeichenfolgen? dankbar!

Wie konvertiert man mit JAVA Hexadezimalzahlen in Zeichenfolgen? dankbar!

WBOY
WBOYnach vorne
2024-01-16 09:30:14936Durchsuche

Wie konvertiert man mit JAVA Hexadezimalzahlen in Zeichenfolgen? dankbar!

Bitte sagen Sie mir, wie man Hexadezimalzahlen in JAVA umwandelt. Vielen Dank

private static String hexString = "0123456789ABCDEF";

public static void main(String[] args) {

System.out.println(encode("中文"));

System.out.println(decode(encode("中文")));

}

/*

* Codieren Sie Zeichenfolgen in Hexadezimalzahlen, die für alle Zeichen (einschließlich Chinesisch) geeignet sind

*/

public static String encode(String str) {

// Holen Sie sich das Byte-Array gemäß der Standardcodierung

byte[] bytes = str.getBytes();

StringBuilder sb = new StringBuilder(bytes.length * 2);

// Zerlege jedes Byte im Byte-Array in eine zweistellige hexadezimale Ganzzahl

for (int i = 0; i

sb.append(hexString.charAt((bytes[i] & 0xf0) >> 4));

sb.append(hexString.charAt((bytes[i] & 0x0f) >> 0));

}

return sb.toString();

}

/*

* Dekodieren Sie Hexadezimalzahlen in Zeichenfolgen, die für alle Zeichen (einschließlich Chinesisch) geeignet sind

*/

öffentliche statische String-Dekodierung (String-Bytes) {

ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);

// Füge jede zweistellige hexadezimale Ganzzahl zu einem Byte zusammen

for (int i = 0; i

baos.write((hexString.indexOf(bytes.charAt(i))

.indexOf(bytes.charAt(i + 1))));

return new String(baos.toByteArray());

}

Persönliche Tests sind machbar und unterstützen Chinesisch! ! ! Bitte denken Sie daran, es zu übernehmen, wenn es nützlich ist

So konvertieren Sie Hexadezimalzahlen in ASCII-Zeichenfolgen in JAVA

Verwenden Sie diese Methode, um die übergebene Zeichenfolge aus Hexadezimalzahlen in eine Zeichenfolge im UTF-8-Format umzuwandeln

public static String toStringHex1(String s) {

byte[] baKeyword = neues Byte[s.length() / 2];

for (int i = 0; i

versuchen {

baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(

i * 2, i * 2 + 2), 16));

} Fang (Ausnahme e) {

e.printStackTrace();

}

}

versuchen {

s = new String(baKeyword, "utf-8");// UTF-16le:Not

} Fang (Ausnahme e1) {

e1.printStackTrace();

}

return s;

}

So konvertieren Sie Hexadezimalzahlen in Zeichen in einem C-Sprachprogramm:

Ich denke, Ihr Problem besteht nur darin, Zahlen in Zeichen umzuwandeln, oder? Dann werde ich Ihnen nicht helfen, den mehrzeiligen Volltext-Quellcode zu erstellen. Sie können eine Schleife in der äußeren Ebene verschachteln und 2D verwenden Array zur Erzielung einer mehrzeiligen ASCII-Code-Konvertierung des Volltextes:

#include "Stdio.h"

#include "Conio.h"

int main(void)

{

int num[10],i=0;

while(getchar() != 'n')

{

getchar();

scanf("%x",&num[i]);

printf("%c",num[i]);

i++;

}

getch();

return 0;

}

Das Prinzip ist folgendes:

Das Format Ihrer vier Bytes hat jeweils die Form xyy. Zum Einlesen kann ich die Anweisung scanf("%x",&num[i]); verwenden Hexadezimalzahlen: Alle Hexadezimalzahlen in einer Zeile werden in einer Schleife herausgenommen und in einem eindimensionalen Array gespeichert.

In Bezug auf die Ausgabe war ich faul und habe es direkt gelesen und ausgegeben. Der Schlüssel besteht darin, die Anweisung automatisch mit printf("%c",num[i]) auszugeben Konvertieren Sie die Hexadezimalzahl. Die Systemnummern werden in Zeichen umgewandelt, die dem ASCII-Code entsprechen, und ausgegeben.

Verstehen Sie jetzt? Es verwendet formatierte Eingaben und Ausgaben, um Hexadezimalzahlen zu lesen und Zeichen auszugeben. (Die beiden getchar() werden zum Lesen von Zeichen bzw. x verwendet~~)

So konvertieren Sie hexadezimalen ASC-Code mit Python in eine String-Anzeige

#Hexadezimale Zeichen in Binärzeichen umwandeln

def str2byte(s):

base='0123456789ABCDEF'

i=0

s = s.upper()

s1=''

während i c1=s[i]

c2=s[i+1]

i+=2

b1=base.find(c1)

b2=base.find(c2)

wenn b1 == -1 oder b2 == -1:

Rückgabe Keine

s1+=chr((b1 gibt s1 zurück

s = 'C7 EB CE F0 BE C6 BA F3 BC DD B3 B5'.replace ('', '') #Leerzeichen entfernen

s1 = str2byte(s)

print s1.decode('gbk') #Dekodieren und mit GBK-Kodierung ausgeben

#Ergebnisse

>>>s1

'xc7xebxcexf0xbexc6xbaxf3xbcxddxb3xb5'

>>>s1.decode('gbk') drucken

Bitte nicht trinken und Auto fahren

Das obige ist der detaillierte Inhalt vonWie konvertiert man mit JAVA Hexadezimalzahlen in Zeichenfolgen? dankbar!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:docexcel.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen