logo

Konverter en streng til heksadesimale ASCII-verdier

Gitt en streng som input, skriv et program for å konvertere tegnene i den gitte strengen til den heksadesimale ekvivalenten til ASCII-verdier.

Eksempler:



Inndata: Nerd
Produksjon: 4765656b

Inndata: IronMan del 3
Utgang: 49726f6e4d616e20706172742033

ASCII står for American Standard Code for Information Interchange . ASCII er en standard som tildeler bokstaver, tall og andre tegn innenfor de 256 sporene som er tilgjengelige i 8-biters koden. For eksempel har små bokstaver h (Char) en desimalverdi på 104, som er 01101000 i binær og 68 i heksadesimal.



Det heksadesimale eller ganske enkelt heksadesimale nummereringssystemet bruker Base of 16-systemet. Det heksadesimale tallet bruker 16 symboler {0, 1, 2, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} for å representere alle tall. Her representerer (A, B, C, D, E, F) (10, 11, 12, 13, 14, 15).

Algoritme:

  1. Initialiser siste sekskantstreng som tom.
  2. Vurder hvert tegn fra input, cast det inn i heltall. Denne heltallsverdien er ascii-verdien til det tegnet.
  3. Endre denne heltallsverdien til heksadesimal verdi og legg til denne heksadesimale verdien til den endelige heksadesimale strengen.



Grunnleggende implementering av ideen ovenfor:

C++


vba



// 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




java saksuttalelse
> >// 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'));>

>

>

Produksjon

4765656B>

Tidskompleksitet: O(n * log16(n)), hvor n er lengden på den gitte strengen.
Hjelpeplass: O(1).