Konvertuokite eilutę į šešioliktaines ASCII reikšmes
Pateikę eilutę kaip įvestį, parašykite programą, kuri konvertuotų nurodytos eilutės simbolius į šešioliktainį ASCII reikšmių ekvivalentą.
Pavyzdžiai:
Įvestis: Moksiukas
Išvestis: 4765656bĮvestis: IronMan 3 dalis
Išvestis: 49726f6e4d616e20706172742033
ASCII reiškia Amerikos standartinis informacijos mainų kodas . ASCII yra standartas, priskiriantis raides, skaičius ir kitus simbolius 256 lizduose, esančiuose 8 bitų kode. Pvz., mažųjų raidžių h simbolio (Char) dešimtainė reikšmė yra 104, kuri yra 01101000 dvejetaine ir 68 šešioliktaine.
Šešioliktainė arba tiesiog šešioliktainė numeravimo sistema naudoja 16 bazę. Šešioliktainis skaičius naudoja 16 simbolių {0, 1, 2, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}, kad pavaizduotų visus skaičius. Čia (A, B, C, D, E, F) reiškia (10, 11, 12, 13, 14, 15).
Algoritmas:
- Galutinę šešioliktainę eilutę inicijuokite kaip tuščią.
- Atsižvelkite į kiekvieną įvesties simbolį, išveskite jį į sveikąjį skaičių. Ši sveikojo skaičiaus reikšmė yra to simbolio ascii reikšmė.
- Pakeiskite šią sveikojo skaičiaus reikšmę į šešioliktainę reikšmę ir pridėkite šią šešioliktainę reikšmę į galutinę šešioliktainę eilutę.
Pagrindinis aukščiau pateiktos idėjos įgyvendinimas:
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#
// 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'));> |
Išvestis
4765656B
Laiko sudėtingumas: O(n * log 16 (n)), kur n yra nurodytos eilutės ilgis.
Pagalbinė erdvė: O(1).