Maison > tutoriels informatiques > connaissances en informatique > 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
Libérer: 2024-01-16 09:30:14
avant
952 Les gens l'ont consulté

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!

source:docexcel.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal