Gegeven de hexadecimale waardereeks als invoer, is het de taak om de gegeven hexadecimale waardereeks om te zetten in de overeenkomstige tekenreeks in ASCII-formaat.
Voorbeelden:
Invoer: 6765656b73
Uitgang: nerds
Invoer: 6176656e67657273
Uitgang: wrekers
Het hexadecimale of eenvoudigweg hexadecimale nummeringssysteem maakt gebruik van het Base of 16-systeem. Omdat het een Base-16-systeem is, zijn er 16 mogelijke cijfersymbolen. Het hexadecimale getal gebruikt 16 symbolen {0, 1, 2, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} om alle getallen weer te geven. Hier vertegenwoordigt (A, B, C, D, E, F) (10, 11, 12, 13, 14, 15).
ASCII staat voor Amerikaanse standaardcode voor informatie-uitwisseling . ASCII is een standaard die letters, cijfers en andere tekens toewijst binnen de 256 slots die beschikbaar zijn in de 8-bits code. De kleine letter h (Char) heeft bijvoorbeeld een decimale waarde van 104, wat 01101000 is in binair getal en 68 in hexadecimaal.
Algoritme:
- Initialiseer de laatste ascii-tekenreeks als leeg.
- Extraheer de eerste twee tekens uit de hexadecimale reeks die als invoer is gebruikt.
- Converteer het naar een geheel getal met grondtal 16.
- Zet dit gehele getal om in een teken dat het ASCII-equivalent is van 2 char hex.
- Voeg dit teken toe aan de laatste tekenreeks.
- Extraheer de volgende twee tekens uit de hexadecimale reeks en ga naar stap 3.
- Volg deze stappen om alle tekens uit de hexadecimale reeks te extraheren.

Implementatie:
C++
// C++ program to convert hexadecimal> // string to ASCII format string> #include> using> namespace> std;> string hexToASCII(string hex)> {> >// initialize the ASCII code string as empty.> >string ascii =>''>;> >for> (>size_t> i = 0; i { // 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> |
>
hoe download je youtube-video's vlc
>
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 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 { // 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> |
int een tekenreeks java
>
>
Javascript
> >// 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 // 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'));> |
>
>Uitvoer
geeks>
Tijdcomplexiteit : O(N), waarbij N de lengte van de gegeven string is
Hulpruimte : OP)
Benadering 2: Bitwise-bewerkingen gebruiken:
Bij deze aanpak worden bitsgewijze bewerkingen gebruikt om de hexadecimale tekenreeks rechtstreeks naar een ASCII-tekenreeks te converteren. Bij deze aanpak zouden we beginnen met het converteren van de hexadecimale reeks naar een reeks bytes. We kunnen dit doen door de string te doorlopen en elk paar hexadecimale cijfers naar een byte te converteren. Zodra we de bytes hebben, kunnen we bitsgewijze bewerkingen gebruiken om ze naar tekens in de ASCII-reeks te converteren.
In deze implementatie gebruiken we een stringstream om de ASCII-string te bouwen. We doorlopen de hexadecimale reeks en converteren elk paar hexadecimale cijfers naar een byte met behulp van stoi. Vervolgens voegen we de byte toe aan de stringstream. Ten slotte retourneren we de inhoud van de stringstream als de ASCII-tekenreeks.
Hier is de code van deze aanpak:
C++
#include> using> namespace> std;> string hexToASCII(std::string hex) {> >stringstream ss;> >for> (>size_t> i = 0; i unsigned char byte =stoi(hex.substr(i, 2), nullptr, 16); ss << byte; } return ss.str(); } int main() { string hexString = '6765656b73'; string asciiString = hexToASCII(hexString); cout << asciiString << endl; return 0; }> |
>
>
Java
import> java.util.*;> public> class> HexToASCII {> >public> static> String hexToASCII(String hex) {> >StringBuilder sb =>new> StringBuilder();> >for> (>int> i =>0>; i 2) { String str = hex.substring(i, i + 2); char ch = (char) Integer.parseInt(str, 16); sb.append(ch); } return sb.toString(); } public static void main(String[] args) { String hexString = '6765656b73'; String asciiString = hexToASCII(hexString); System.out.println(asciiString); } }> |
>
>
Python3
25 c tot k
def> hex_to_ascii(hex_str):> >ascii_str>=> ''> >for> i>in> range>(>0>,>len>(hex_str),>2>):> >byte>=> int>(hex_str[i:i>+>2>],>16>)> >ascii_str>+>=> chr>(byte)> >return> ascii_str> # Driver code> hex_string>=> '6765656b73'> ascii_string>=> hex_to_ascii(hex_string)> print>(ascii_string)> |
>
>
C#
using> System;> using> System.Text;> public> class> Program> {> >public> static> string> HexToASCII(>string> hex)> >{> >StringBuilder sb =>new> StringBuilder();> >for> (>int> i = 0; i { byte b = Convert.ToByte(hex.Substring(i, 2), 16); sb.Append((char)b); } return sb.ToString(); } public static void Main() { string hexString = '6765656b73'; string asciiString = HexToASCII(hexString); Console.WriteLine(asciiString); } } // This code is contributed by Prajwal Kandekar> |
>
>
Javascript
// Javascript code addition> function> hexToASCII(hex) {> >let sb =>''>;> >for> (let i = 0; i let str = hex.substring(i, i + 2); let ch = String.fromCharCode(parseInt(str, 16)); sb += ch; } return sb; } let hexString = '6765656b73'; let asciiString = hexToASCII(hexString); console.log(asciiString); // The code is contributed by Nidhi goel.> |
>
commando alle hoofdletters excel
>
Uitvoer
geeks>
Tijdcomplexiteit: O(n), waarbij N de lengte van de gegeven string is
Hulpruimte: O(n)