Dada la string de valor hexadecimal como entrada, la tarea es convertir la string de valor hexadecimal dada en su string de formato ASCII correspondiente.
Ejemplos:
Input: 6765656b73 Output: geeks Input: 6176656e67657273 Output: avengers
El sistema de numeración «Hexadecimal» o simplemente «Hex» utiliza el sistema de base de 16. Al ser un sistema Base-16, hay 16 símbolos de dígitos posibles. El número hexadecimal usa 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).
ASCII significa Código Estándar Estadounidense para el 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úscula (Char) tiene un valor decimal de 104, que es «01101000» en binario y «68» en hexadecimal.
Para obtener más valores ASCII, consulte la TABLA ASCII.
Algoritmo:
- Inicialice la string ascii final como vacía.
- Extraiga los primeros dos caracteres de la string hexadecimal tomada como entrada.
- Conviértalo en base 16 entero.
- Convierta este número entero en carácter, que es el equivalente ASCII de 2 caracteres hexadecimales.
- Agregue este carácter a la string final.
- Extraiga los siguientes dos caracteres de la string hexadecimal y vaya al paso 3.
- Siga estos pasos para extraer todos los caracteres de una string hexadecimal.
C++
// C++ program to convert hexadecimal // string to ASCII format string #include <bits/stdc++.h> using namespace std; string hexToASCII(string hex) { // initialize the ASCII code string as empty. string ascii = ""; for (size_t i = 0; i < hex.length(); i += 2) { // extract two characters from hex string string part = hex.substr(i, 2); // change it into base 16 and // typecast as the character char ch = stoul(part, nullptr, 16); // add this char to final ASCII string ascii += ch; } return ascii; } // Driver Code int main() { // print the ASCII string. cout << hexToASCII("6765656b73") << endl; return 0; } // This code is contributed by // sanjeev2552
Java
// Java program to convert hexadecimal // string to ASCII format string import java.util.Scanner; public class HexadecimalToASCII { public static String hexToASCII(String hex) { // initialize the ASCII code string as empty. String ascii = ""; for (int i = 0; i < hex.length(); i += 2) { // extract two characters from hex string String part = hex.substring(i, i + 2); // change it into base 16 and typecast as the character char ch = (char)Integer.parseInt(part, 16); // add this char to final ASCII string ascii = ascii + ch; } return ascii; } public static void main(String[] args) { // print the ASCII string. System.out.println(hexToASCII("6765656b73")); } }
Python3
# Python3 program to convert hexadecimal # string to ASCII format string def hexToASCII(hexx): # initialize the ASCII code string as empty. ascii = "" for i in range(0, len(hexx), 2): # extract two characters from hex string part = hexx[i : i + 2] # change it into base 16 and # typecast as the character ch = chr(int(part, 16)) # add this char to final ASCII string ascii += ch return ascii # Driver Code if __name__ == "__main__": # print the ASCII string. print(hexToASCII("6765656b73")) # This code is contributed by # sanjeev2552
C#
// C# program to convert hexadecimal // string to ASCII format string using System; class GFG { public static String hexToASCII(String hex) { // initialize the ASCII code string as empty. String ascii = ""; for (int i = 0; i < hex.Length; i += 2) { // extract two characters from hex string String part = hex.Substring(i, 2); // change it into base 16 and // typecast as the character char ch = (char)Convert.ToInt32(part, 16);; // add this char to final ASCII string ascii = ascii + ch; } return ascii; } // Driver Code public static void Main(String[] args) { // print the ASCII string. Console.WriteLine(hexToASCII("6765656b73")); } } // This code is contributed by PrinciRaj1992
Javascript
<script> // JavaScript program to convert hexadecimal // string to ASCII format string function hexToASCII(hex) { // initialize the ASCII code string as empty. var ascii = ""; for (var i = 0; i < hex.length; i += 2) { // extract two characters from hex string var part = hex.substring(i, i + 2); // change it into base 16 and // typecast as the character var ch = String.fromCharCode(parseInt(part, 16)); // add this char to final ASCII string ascii = ascii + ch; } return ascii; } // Driver Code // print the ASCII string. document.write(hexToASCII("6765656b73")); </script>
Producción:
geeks
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA