logo

Konvertieren Sie eine Zeichenfolge in hexadezimale ASCII-Werte

Schreiben Sie bei gegebener Zeichenfolge als Eingabe ein Programm, um die Zeichen der angegebenen Zeichenfolge in das hexadezimale Äquivalent von ASCII-Werten umzuwandeln.

Beispiele:



Eingang: Geek
Ausgabe: 4765656b

Eingang: IronMan Teil 3
Ausgabe : 49726f6e4d616e20706172742033

ASCII steht für Amerikanischer Standardcode für den Informationsaustausch . ASCII ist ein Standard, der Buchstaben, Zahlen und andere Zeichen innerhalb der 256 verfügbaren Slots des 8-Bit-Codes zuordnet. Beispielsweise hat das kleingeschriebene h-Zeichen (Char) den Dezimalwert 104, was binär 01101000 und hexadezimal 68 ist.



Das Hexadezimal- oder einfach Hex-Nummerierungssystem verwendet das Basis-16-System. Die Hexadezimalzahl verwendet 16 Symbole {0, 1, 2, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}, um alle Zahlen darzustellen. Hier steht (A, B, C, D, E, F) für (10, 11, 12, 13, 14, 15).

Algorithmus:

  1. Initialisieren Sie die letzte Hex-Zeichenfolge als leer.
  2. Betrachten Sie jedes Zeichen aus der Eingabe und wandeln Sie es in eine Ganzzahl um. Dieser ganzzahlige Wert ist der ASCII-Wert dieses Zeichens.
  3. Wandeln Sie diesen ganzzahligen Wert in einen Hexadezimalwert um und fügen Sie diesen Hexadezimalwert zur endgültigen Hex-Zeichenfolge hinzu.



Grundlegende Umsetzung der obigen Idee:

C++


Java Double zum String



// C++ program to convert> // ASCII string to Hexadecimal> // format string> // Function to convert> // decimal to hexadecimal> #include> using> namespace> std;> // function to convert decimal to hexadecimal> string decToHexa(>int> n)> {> >// char array to store hexadecimal number> >char> hexaDeciNum[100];> >// counter for hexadecimal number array> >int> i = 0;> >while> (n != 0) {> >// temporary variable to store remainder> >int> temp = 0;> >// storing remainder in temp variable.> >temp = n % 16;> >// check if temp <10> >if> (temp <10) {> >hexaDeciNum[i] = temp + 48;> >i++;> >}> >else> {> >hexaDeciNum[i] = temp + 55;> >i++;> >}> >n = n / 16;> >}> >string ans =>''>;> >// printing hexadecimal number array in reverse order> >for> (>int> j = i - 1; j>= 0; j--)> >ans += hexaDeciNum[j];> >return> ans;> }> // Function to convert ASCII to HEX> string ASCIItoHEX(string ascii)> {> >// Initialize final String> >string hex =>''>;> >// Make a loop to iterate through> >// every character of ascii string> >for> (>int> i = 0; i // Take a char from // position i of string char ch = ascii[i]; // Cast char to integer and // find its ascii value int tmp = (int)ch; // Change this ascii value // integer to hexadecimal value string part = decToHexa(tmp); // Add this hexadecimal value // to final string. hex += part; } // Return the final // string hex return hex; } int main() { // Driver code // Print the Hex String cout << (ASCIItoHEX('Geek')); } // this code is contributed by phasing17>

>

>

Java




// Java program to convert ASCII> // string to Hexadecimal format string> import> java.util.Scanner;> class> ASCIItoHEX {> >// function to convert ASCII to HEX> >public> static> String ASCIItoHEX(String ascii)> >{> > >// Initialize final String> >String hex =>''>;> >// Make a loop to iterate through> >// every character of ascii string> >for> (>int> i =>0>; i // take a char from // position i of string char ch = ascii.charAt(i); // cast char to integer and // find its ascii value int in = (int)ch; // change this ascii value // integer to hexadecimal value String part = Integer.toHexString(in); // add this hexadecimal value // to final string. hex += part; } // return the final string hex return hex; } // Driver Function public static void main(String arg[]) { // print the Hex String System.out.println(ASCIItoHEX('Geek')); } }>

>

>

Python3




# Python3 program to convert ASCII> # string to Hexadecimal format string> # function to convert ASCII to HEX> def> ASCIItoHEX(ascii):> ># Initialize final String> >hexa>=> ''> ># Make a loop to iterate through> ># every character of ascii string> >for> i>in> range>(>len>(ascii)):> ># take a char from> ># position i of string> >ch>=> ascii[i]> ># cast char to integer and> ># find its ascii value> >in1>=> ord>(ch)> > ># change this ascii value> ># integer to hexadecimal value> >part>=> hex>(in1).lstrip(>'0x'>).rstrip(>'L'>)> ># add this hexadecimal value> ># to final string.> >hexa>+>=> part> ># return the final string hex> >return> hexa> > # Driver Function> if> __name__>=>=> '__main__'>:> ># print the Hex String> >print>(ASCIItoHEX(>'Geek'>))> # This code is contributed by pratham76>

>

>

C#




// C# program to convert> // ASCII string to Hexadecimal> // format string> using> System;> class> GFG{> > // Function to convert> // decimal to hexadecimal> static> string> decToHexa(>int> n)> {> >// char array to store> >// hexadecimal number> >char> []hexaDeciNum => >new> char>[100];> >// counter for hexadecimal> >// number array> >int> i = 0;> > >while>(n != 0)> >{> >// temporary variable> >// to store remainder> >int> temp = 0;> >// Storing remainder> >// in temp variable.> >temp = n % 16;> >// Check if temp <10> >if>(temp <10)> >{> >hexaDeciNum[i] => >(>char>)(temp + 48);> >i++;> >}> >else> >{> >hexaDeciNum[i] => >(>char>)(temp + 87);> >i++;> >}> >n = n / 16;> >}> >string> ans =>''>;> >// Printing hexadecimal number> >// array in reverse order> >for>(>int> j = i - 1;> >j>= 0; j--)> >{> >ans += hexaDeciNum[j];> >}> >return> ans;> }> // Function to convert ASCII to HEX> public> static> string> ASCIItoHEX(>string> ascii)> {> >// Initialize final String> >string> hex =>''>;> >// Make a loop to iterate through> >// every character of ascii string> >for> (>int> i = 0;> >i { // Take a char from // position i of string char ch = ascii[i]; // Cast char to integer and // find its ascii value int tmp = (int)ch; // Change this ascii value // integer to hexadecimal value string part = decToHexa(tmp); // Add this hexadecimal value // to final string. hex += part; } // Return the final // string hex return hex; } // Driver code public static void Main(string []arg) { // Print the Hex String Console.Write(ASCIItoHEX('Geek')); } } // This code is contributed by rutvik_56>

>

>

Javascript




> >// JavaScript program to convert> >// ASCII string to Hexadecimal> >// format string> >// Function to convert> >// decimal to hexadecimal> >function> decToHexa(n) {> >// char array to store> >// hexadecimal number> >var> hexaDeciNum =>new> Array(100).fill(0);> >// counter for hexadecimal> >// number array> >var> i = 0;> >while> (n !== 0) {> >// temporary variable> >// to store remainder> >var> temp = 0;> >// Storing remainder> >// in temp variable.> >temp = n % 16;> >// Check if temp <10> >if> (temp <10) {> >hexaDeciNum[i] = String.fromCharCode(temp + 48);> >i++;> >}>else> {> >hexaDeciNum[i] = String.fromCharCode(temp + 87);> >i++;> >}> >n = parseInt(n / 16);> >}> >var> ans =>''>;> >// Printing hexadecimal number> >// array in reverse order> >for> (>var> j = i - 1; j>= 0; j--) {> >ans += hexaDeciNum[j];> >}> >return> ans;> >}> >// Function to convert ASCII to HEX> >function> ASCIItoHEX(ascii) {> >// Initialize final String> >var> hex =>''>;> >// Make a loop to iterate through> >// every character of ascii string> >for> (>var> i = 0; i // Take a char from // position i of string var ch = ascii[i]; // Cast char to integer and // find its ascii value var tmp = ch.charCodeAt(0); // Change this ascii value // integer to hexadecimal value var part = decToHexa(tmp); // Add this hexadecimal value // to final string. hex += part; } // Return the final // string hex return hex; } // Driver code // Print the Hex String document.write(ASCIItoHEX('Geek'));>

So ermitteln Sie die Monitorgröße
>

>

Ausgabe

4765656B>

Zeitkomplexität: O(n * log16(n)), wobei n die Länge der angegebenen Zeichenfolge ist.
Hilfsraum: O(1).