logo

Pretvori niz v šestnajstiške vrednosti ASCII

Če imate kot vhod niz, napišite program za pretvorbo znakov danega niza v šestnajstiški ekvivalent vrednosti ASCII.

Primeri:



Vnos: Geek
Izhod: 4765656b

Vnos: IronMan 3 del
Izhod: 49726f6e4d616e20706172742033

ASCII pomeni Ameriška standardna koda za izmenjavo informacij . ASCII je standard, ki dodeljuje črke, številke in druge znake v 256 režah, ki so na voljo v 8-bitni kodi. Na primer, mala črka h (Char) ima decimalno vrednost 104, kar je 01101000 v dvojiški obliki in 68 v šestnajstiški obliki.



Šestnajstiški ali preprosto heksadecimalni sistem številčenja uporablja sistem z osnovo 16. Šestnajstiško število uporablja 16 simbolov {0, 1, 2, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} za predstavitev vseh števil. Tu (A, B, C, D, E, F) predstavlja (10, 11, 12, 13, 14, 15).

Algoritem:

  1. Končni šestnajstiški niz inicializirajte kot prazen.
  2. Upoštevajte vsak znak iz vnosa in ga pretvorite v celo število. Ta celoštevilska vrednost je vrednost ascii tega znaka.
  3. Spremenite to celo število v šestnajstiško vrednost in dodajte to šestnajstiško vrednost končnemu šestnajstiškemu nizu.



Osnovna izvedba zgornje ideje:

C++


primeri kode c#



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

js globalna spremenljivka




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

>

>

Izhod

4765656B>

Časovna zapletenost: O(n * log16(n)), kjer je n dolžina danega niza.
Pomožni prostor: O(1).