ஹெக்ஸாடெசிமல் 16 இன் அடித்தளத்தைக் கொண்டுள்ளது, மேலும் 0x என்ற முன்னொட்டைப் பயன்படுத்தி ஹெக்ஸாடெசிமல் வடிவத்தில் ஒரு சரத்தை நாம் குறிப்பிடலாம்.
பின்வரும் முறைகளைப் பயன்படுத்தி சரம் அறுங்கோணத்திற்கு மாற்றலாம்:
- ஹெக்ஸ் (n) முறையைப் பயன்படுத்துதல்
- குறியீட்டு () முறையைப் பயன்படுத்துதல்
- Literal_eval () முறையைப் பயன்படுத்துதல்
முறை 1: ஹெக்ஸைப் பயன்படுத்துதல் ()
ஹெக்ஸ் () முறையைப் பயன்படுத்தி சரத்தை ஹெக்ஸாடெசிமலுக்கு மாற்றலாம். ஹெக்ஸ் () முறை அளவுருவை முழு எண் வடிவத்தில் ஏற்றுக்கொள்கிறது, அதற்கு முதலில், சரத்தை ஒரு முழு எண்ணாக மாற்ற வேண்டும், பின்னர் கீழே காட்டப்பட்டுள்ளபடி அந்த மதிப்பை ஹெக்ஸ் () முறைக்கு அனுப்ப வேண்டும்:
உதாரணம்: string_to_hex.py
1 2 3 4 5 6 7 8 9 10 பதினொன்று 12 13 14 பதினைந்து 16 17 18 19 இருபது இருபத்து ஒன்று | # string_to_hex.py ப = '245FC' # str ஐ int 16 க்கு அனுப்பவும், அதை base16 int ஆக மாற்றவும் அடிப்படை 16INT= int(ப, 16) # மாற்றப்பட்ட சரத்தை பேஸ் 16 ஹெக்ஸாடெசிமல் இன்ட் மதிப்பாக அச்சிடவும் அச்சு('மதிப்பு',அடிப்படை 16INT) அச்சு('மதிப்பு',வகை(அடிப்படை 16INT)) ஹெக்ஸ்_ மதிப்பு= ஹெக்ஸ்(அடிப்படை 16INT) அச்சு(ஹெக்ஸ்_ மதிப்பு) # மதிப்பின் வகை அச்சு(வகை(ஹெக்ஸ்_ மதிப்பு)) |
வெளியீடு:
1 2 3 4 5 6 7 | மதிப்பு148988 மதிப்பு<வர்க்கம் 'int'> 0x245fc <வர்க்கம் 'str'> |
வரி 3: டெமோவிற்கு ஒரு சரத்தை உருவாக்கினோம்.
வரி 6: நாம் அந்த சரத்தை int () முறைக்கு அடிப்படை 16 உடன் அனுப்புகிறோம். இப்போது, இந்த int () முறை சரத்தை அறுகோண முழு எண்ணுக்கு மாற்றும்.
வரி 9: சரம் முழு ஹெக்ஸாடெசிமலுக்கு மாற்றப்பட்ட பிறகு நாம் பெறும் மதிப்பை அச்சிடுகிறோம்.
வரி 10: சரம் இப்போது ஒரு முழு எண்ணின் வடிவத்தில் இருப்பதை உறுதிப்படுத்த மதிப்பு வகையையும் நாங்கள் அச்சிடுகிறோம்.
வரி 12: உள்ளமைக்கப்பட்ட ஹெக்ஸ் (n) முறை முழு எண்ணை ஏற்றுக்கொள்கிறது, முழு எண்ணை அறுகோண சரமாக மாற்றுகிறது என்பது எங்களுக்குத் தெரியும். அதனால்தான் சரம் ஒரு முழு எண்ணாக அதை ஹெக்ஸ் () முறைக்கு மாற்ற வேண்டும். நாங்கள் அந்த அடிப்படை 16INT மதிப்பை ஹெக்ஸ் () முறைக்கு அனுப்பினோம், மேலும் ஹெக்ஸாடெசிமல் என்ற சரம்_மதிப்பைப் பெற்றோம்.
வரி 13: மாற்றப்பட்ட ஹெக்ஸாடெசிமல் மதிப்பை நாங்கள் அச்சிடுகிறோம்.
வரி 16: மாற்றப்பட்ட ஹெக்ஸாடெசிமல் மதிப்பின் வகையை நாங்கள் அச்சிடுகிறோம், இது வெளியீட்டில் இது ஒரு சரம் வகை என்பதைக் காட்டுகிறது.
எனவே, இப்போது சரம் ஒரு அறுகோண மதிப்புக்கு மாற்றப்பட்டது.
முறை 2: குறியீட்டைப் பயன்படுத்தி சரம் ஹெக்ஸாடெசிமலுக்கு மாற்றவும் ()
சாதாரண சரம் ஒரு அறுகோண எழுத்து அல்லாத ஒரு அறுகோண சரமாக மாற்றலாம். அதற்காக, முறை குறியீட்டை () பயன்படுத்தி சரத்தை பைட்டாக மாற்ற வேண்டும், பின்னர் கீழே காட்டப்பட்டுள்ளபடி சரம் அறுகோணமாக மாற்றலாம்:
1 2 3 4 5 6 7 8 9 10 பதினொன்று 12 13 14 பதினைந்து 16 17 18 19 இருபது இருபத்து ஒன்று 22 2. 3 24 25 | # string_to_hex_utf8.py # சரத்தை பைட்டுகளாக மாற்றவும் ப= 'லினக்ஸ்ஹின்ட்'.குறியாக்கம்('utf-8') # மாற்றப்பட்ட சரத்தை பைட்டுகளாக அச்சிடுங்கள் அச்சு(ப) # சரம் பைட்டுகளை ஹெக்ஸாடெசிமல் சரமாக மாற்றவும் hex_str= ப.ஹெக்ஸ்() # மாற்றப்பட்ட அறுகோண மதிப்பு வகையை அச்சிடவும் அச்சு(வகை(hex_str)) |
வெளியீடு:
1 2 3 | b'லினக்ஸ்ஹின்ட்' <வர்க்கம் 'str'> |
வரி 4 முதல் 7: எந்த அறுகோண குணமும் இல்லாத ஒரு சரத்தை உருவாக்கினோம். பின்னர் அந்த சரங்களை என்கோட் () முறையைப் பயன்படுத்தி பைட்டுகளாக மாற்றவும். பின்னர், அந்த பைட்டுகளை அச்சிடுகிறோம், அதை நாம் வெளியீட்டு வரி எண் 1 இல் பார்க்கலாம்.
வரி 10 முதல் 13: டாட் ஆபரேட்டரைப் பயன்படுத்தி ஹெக்ஸ் () முறையை அழைக்கிறோம், இப்போது பைட்டுகள் நமக்குத் தேவையான ஹெக்ஸாடெசிமல் ஸ்ட்ரிங் மதிப்புக்கு மாற்றப்படுகின்றன. முடிவு சரத்தின் வகையை உறுதிப்படுத்த, நாம் வரி எண் 13 ஐ அச்சிடுகிறோம், மேலும் அது ஒரு சரம் அறுகோண வகை என்று வெளியீடு காட்டுகிறது.
முறை 3. ast.literal_eval () முறையைப் பயன்படுத்துதல்
அஸ்ட் லைப்ரரி முறையான Literal_eval ஐப் பயன்படுத்தி நாம் சரத்தை ஒரு முழு எண்ணாக மாற்றலாம். இந்த முறை சரம் ஒரு முழு எண்ணாக ஹெக்ஸ் () முறையைப் பயன்படுத்தி சரம் அறுகோண சரமாக மாற்றப்படுகிறது. ஆனால் இந்த முறை 0x முன்னொட்டு எழுத்துக்களை மட்டுமே ஏற்கிறது.
1 2 3 4 5 6 7 8 9 10 பதினொன்று 12 13 14 பதினைந்து 16 17 18 19 இருபது இருபத்து ஒன்று 22 2. 3 24 25 26 27 28 29 30 31 32 33 | # string_to_hex_utf8.py இருந்துகிளைஇறக்குமதிநேரடி_ஏவல் ப = '0xAAA' # சரத்தை முழு எண்ணாக மாற்றவும் மாற்று_எஸ்டிஆர்=நேரடி_ஏவல்(ப) # மாற்று_எஸ்டிஆர் மதிப்பு மற்றும் வகையை அச்சிடுங்கள் அச்சு(மாற்று_எஸ்டிஆர்) அச்சு('வகை', வகை(மாற்று_எஸ்டிஆர்)) # மாற்று_எஸ்டிஆரை ஹெக்ஸ் () முறைக்கு அனுப்பவும் ஹெக்ஸ்_ மதிப்பு= ஹெக்ஸ்(மாற்று_எஸ்டிஆர்) அச்சு(ஹெக்ஸ்_ மதிப்பு) # மதிப்பின் வகை அச்சு(வகை(ஹெக்ஸ்_ மதிப்பு)) |
வெளியீடு:
1 2 3 4 5 6 7 | 2730 வகை <வர்க்கம் 'int'> 0xaaa <வர்க்கம் 'str'> |
வரி 2 முதல் 10: நாங்கள் astral நூலகத்திலிருந்து Literal_eval () முறையை இறக்குமதி செய்கிறோம். பின்னர் நாம் 0x முன்னொட்டுடன் ஒரு சரத்தை உருவாக்குகிறோம். பின்னர் அந்த சரத்தை Literal_eval () முறைக்கு அனுப்பி அதை முழு எண்ணாக மாற்றினோம். முழு எண் வடிவத்தில் வெளியீடு இருப்பதை உறுதி செய்ய, நாம் அதை வரி எண் 9 இல் அச்சிடுகிறோம். வெளியீட்டின் வகையையும் நாங்கள் அச்சிடுகிறோம், இது ஒரு முழு எண் என்பதைக் காட்டுகிறது.
வரி 13 முதல் 17 வரை: முழு எண்ணை ஏற்றுக்கொள்ளும், முழு எண்ணை அறுகோண சரமாக மாற்றும் உள்ளமைக்கப்பட்ட ஹெக்ஸ் (n) முறையை நாங்கள் அறிவோம். அதனால்தான் சரம் ஒரு முழு எண்ணாக அதை ஹெக்ஸ் () முறைக்கு மாற்ற வேண்டும். நாங்கள் அந்த convert_str (முழு எண்) மதிப்பை ஹெக்ஸ் () முறைக்கு அனுப்பினோம் மற்றும் ஹெக்ஸா_வலுவைப் பெற்றோம், சரம் ஹெக்ஸாடெசிமல். மாற்றப்பட்ட ஹெக்ஸாடெசிமல் மதிப்பை நாங்கள் அச்சிடுகிறோம். மாற்றப்பட்ட அறுகோண மதிப்பின் வகையையும் நாங்கள் அச்சிடுகிறோம், இது ஒரு சரம் அறுகோண வகை என்பதைக் காட்டுகிறது.
பிழை விதிவிலக்கு (வகை தவறு):
சிலசமயம் சரம் ஒரு அறுகோண சரமாக மாற்றும் போது பிழைகள் வரும். அதன் பின்னால் உள்ள காரணம் ஹெக்ஸ் () முறை மட்டுமே முழு மதிப்பை ஒரு அளவுருவாக ஏற்றுக்கொள்கிறது.
1 2 3 4 5 6 7 | சரம் _ ஹெக்ஸ்= '0xFF' ஹெக்ஸ்_ வெளியீடு= ஹெக்ஸ்(சரம் _ ஹெக்ஸ்) அச்சு(ஹெக்ஸ்_ வெளியீடு) |
வெளியீடு:
1 | டைப் பிழை:'str' பொருள்விளக்க முடியாதுஎனஒரு முழு எண் |
முடிவுரை:
எனவே, சரம் ஒரு அறுகோணச் சின்னச் சரமாக மாற்ற பல்வேறு முறைகளைப் பார்த்தோம். ஹெக்ஸ் () முறை மிகவும் எளிதாகப் பயன்படுத்தப்படுவதால் மிகவும் பிரபலமானது. ஆனால் சில நேரங்களில், நாம் முன்னொட்டு 0x ஐப் பயன்படுத்தாமல் சரத்தை மாற்ற விரும்புகிறோம், எனவே அந்த வழக்கில், நாம் ஏற்கனவே கட்டுரையில் பார்த்தபடி, பைட்டுகள் குறியாக்கம் () முறையைப் பயன்படுத்தலாம்.
இந்த கட்டுரையின் குறியீடு கீழே உள்ள கிதப் இணைப்பில் கிடைக்கிறது: