Dada una cadena como entrada, escriba un programa para convertir los caracteres de la cadena dada al equivalente hexadecimal de los valores ASCII.
Ejemplos:
Aporte: Adicto
Producción: 4765656bAporte: Ironman parte 3
Producción : 49726f6e4d616e20706172742033
ASCII significa Código Estándar Americano para Intercambio de Información . ASCII es un estándar que asigna letras, números y otros caracteres dentro de las 256 ranuras disponibles en el código de 8 bits. Por ejemplo, el carácter h minúsculo (Char) tiene un valor decimal de 104, que es 01101000 en binario y 68 en hexadecimal.
El sistema de numeración hexadecimal o simplemente hexadecimal utiliza el sistema Base de 16. El número hexadecimal utiliza 16 símbolos {0, 1, 2, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} para representar todos los números. Aquí, (A, B, C, D, E, F) representa (10, 11, 12, 13, 14, 15).
Algoritmo:
- Inicialice la cadena hexadecimal final como vacía.
- Considere cada carácter de la entrada y conviértalo en un número entero. Este valor entero es el valor ascii de ese carácter.
- Cambie este valor entero a un valor hexadecimal y agregue este valor hexadecimal a la cadena hexadecimal final.
Implementación básica de la idea anterior:
C++
algoritmo de cabina
// 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#
mb vs gb
// 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'));> |
>
>Producción
4765656B>
Complejidad del tiempo: O(n * iniciar sesión16(n)), donde n es la longitud de la cadena dada.
Espacio Auxiliar: O(1).