Maison  >  Article  >  tutoriels informatiques  >  Comment convertir un hexadécimal en chaîne en utilisant JAVA ? reconnaissant!

Comment convertir un hexadécimal en chaîne en utilisant JAVA ? reconnaissant!

WBOY
WBOYavant
2024-01-16 09:30:14938parcourir

Comment convertir un hexadécimal en chaîne en utilisant JAVA ? reconnaissant!

Veuillez me dire comment convertir un hexadécimal en chaîne en JAVA Merci.

chaîne statique privée hexString = "0123456789ABCDEF";

public static void main(String[] args) {

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

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

}

/*

* Encodez les chaînes en nombres hexadécimaux, adaptés à tous les caractères (y compris le chinois)

*/

Encodage de chaîne statique public (String str) {

// Récupère le tableau d'octets selon l'encodage par défaut

byte[] octets = str.getBytes();

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

// Décomposez chaque octet du tableau d'octets en un entier hexadécimal à 2 chiffres

for (int i = 0; i

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

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

}

return sb.toString();

}

/*

* Décodez les nombres hexadécimaux en chaînes, adaptées à tous les caractères (y compris le chinois)

*/

décodage de chaîne statique publique (octets de chaîne) {

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

// Assemblez chaque entier hexadécimal à 2 chiffres en un octet

for (int i = 0; i

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

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

retourner une nouvelle chaîne(baos.toByteArray());

}

Les tests personnels sont réalisables et prennent en charge le chinois ! ! ! Pensez à l'adopter si cela est utile

Comment convertir des nombres hexadécimaux en chaînes en ASCII en JAVA

Utilisez cette méthode pour convertir la chaîne de nombres hexadécimaux transmise en une chaîne au format UTF-8

String statique publique toStringHex1(String s) {

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

for (int i = 0; i

essayez {

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

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

} capture (Exception e) {

e.printStackTrace();

}

}

essayez {

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

} capture (Exception e1) {

e1.printStackTrace();

}

retour s;

}

Comment convertir des caractères hexadécimaux en caractères dans un programme en langage C :

Je pense que votre problème consiste simplement à convertir des nombres en caractères, n'est-ce pas ? Alors je ne vous aiderai pas à créer le code source multiligne du texte intégral. J'ai fait une ligne de conversion. Vous pouvez imbriquer une boucle dans la couche externe. utilisez 2D Array pour réaliser une conversion de code ASCII multiligne du texte intégral :

#include "Stdio.h"

#include "Conio.h"

int principal (vide)

{

int num[10],i=0;

while(getchar() != 'n')

{

getchar();

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

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

i++;

}

getch();

retour 0;

}

Le principe est le suivant :

Le format de vos quatre octets à chaque fois est sous la forme xyy. Il me suffit de lire le nombre hexadécimal. Je peux utiliser l'instruction scanf("%x",&num[i]); nombres hexadécimaux, tous les nombres hexadécimaux d'une rangée sont extraits dans une boucle et stockés dans un tableau unidimensionnel.

En termes de sortie, j'étais paresseux et je l'ai lu directement et je l'ai affiché. Cependant, ce n'est pas la clé. La clé est de générer l'instruction avec printf("%c",num[i]); convertir l'hexadécimal Les numéros du système sont convertis en caractères correspondant au code ascii et à la sortie.

Maintenant, comprenez-vous ? Il utilise des entrées et des sorties formatées pour lire les nombres hexadécimaux et les caractères de sortie. (Les deux getchar() sont utilisés pour lire les caractères et x respectivement~~)

Comment convertir le code ASC hexadécimal en affichage de chaîne à l'aide de python

#Convertir les caractères hexadécimaux en caractères binaires

def str2octet(s):

base='0123456789ABCDEF'

i=0

s = s.upper()

s1=''

pendant que je c1=s[i]

c2=s[i+1]

i+=2

b1=base.find(c1)

b2=base.find(c2)

si b1 == -1 ou b2 == -1 :

retour Aucun

s1+=chr((b1 retourne s1

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

s1 = str2octet(s)

print s1.decode('gbk') #Décodage et sortie avec encodage gbk

#résultats

>>>s1

'xc7xebxcexf0xbexc6xbaxf3xbcxddxb3xb5'

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

S'il vous plaît, ne buvez pas et conduisez

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer