পাইথনে হেক্সাডেসিমালে স্ট্রিং

String Hexadecimal Python



হেক্সাডেসিমালের 16 টি ভিত্তি রয়েছে এবং আমরা 0x উপসর্গ ব্যবহার করে হেক্সাডেসিমাল ফর্ম্যাটে একটি স্ট্রিং উপস্থাপন করতে পারি।

আমরা নিম্নলিখিত পদ্ধতি ব্যবহার করে স্ট্রিংকে হেক্সাডেসিমালে রূপান্তর করতে পারি:







  1. হেক্স (এন) পদ্ধতি ব্যবহার করে
  2. এনকোড () পদ্ধতি ব্যবহার করে
  3. Literal_eval () পদ্ধতি ব্যবহার করে

পদ্ধতি 1: হেক্স ব্যবহার করে ()

আমরা হেক্স () পদ্ধতি ব্যবহার করে স্ট্রিংকে হেক্সাডেসিমালে রূপান্তর করতে পারি। হেক্স () পদ্ধতিটি প্যারামিটারকে পূর্ণসংখ্যা আকারে গ্রহণ করে, এবং এর জন্য প্রথমে আমাদের স্ট্রিংটিকে একটি পূর্ণসংখ্যায় রূপান্তর করতে হবে এবং তারপর সেই মানটি হেক্স () পদ্ধতিতে পাস করা হয়েছে যেমনটি নীচে দেখানো হয়েছে:



উদাহরণ: string_to_hex.py


2
3
4
5
6
7
8
9
10
এগারো
12
13
14
পনের
16
17
18
19
বিশ
একুশ
# string_to_hex.py

পৃ = '245FC'

# স্ট্রিংকে int () তে বেস 16 ইন্টে রূপান্তর করুন

বেস 16INT= int(পৃ, 16)

# রূপান্তরিত স্ট্রিংকে বেস 16 হেক্সাডেসিমেল ইন্ট ভ্যালুতে মুদ্রণ করুন

ছাপা('মান',বেস 16INT)

ছাপা('মান',টাইপ(বেস 16INT))

hex_value= হেক্স(বেস 16INT)

ছাপা(hex_value)

# মানের ধরন চেক করা

ছাপা(টাইপ(hex_value))

আউটপুট:


2
3
4
5
6
7
মান148988

মান<শ্রেণী 'int'>

0x245fc

<শ্রেণী 'str'>

লাইন 3: আমরা ডেমোর জন্য একটি স্ট্রিং তৈরি করেছি।

লাইন 6: আমরা সেই স্ট্রিংটিকে int () পদ্ধতিতে বেস 16 দিয়ে পাস করি। এখন, এই int () পদ্ধতি স্ট্রিংটিকে হেক্সাডেসিমাল পূর্ণসংখ্যার মান রূপান্তর করবে।



লাইন 9: স্ট্রিংকে পূর্ণসংখ্যা হেক্সাডেসিমালে রূপান্তর করার পর আমরা যে মান পাই তা মুদ্রণ করি।





লাইন 10: স্ট্রিংটি এখন একটি পূর্ণসংখ্যা আকারে আছে তা নিশ্চিত করার জন্য আমরা মান টাইপ মুদ্রণ করি।

লাইন 12: আমরা জানি যে অন্তর্নির্মিত হেক্স (এন) পদ্ধতি পূর্ণসংখ্যা মান গ্রহণ করে, পূর্ণসংখ্যাকে হেক্সাডেসিমাল স্ট্রিংয়ে রূপান্তর করে। এজন্য আমরা স্ট্রিংটিকে হেক্স () পদ্ধতিতে পাস করার জন্য একটি পূর্ণসংখ্যায় রূপান্তর করতে হবে। আমরা hex () পদ্ধতিতে সেই base16INT মানটি পাস করেছি এবং hex_value, string hexadecimal পেয়েছি।



লাইন 13: আমরা সেই রূপান্তরিত হেক্সাডেসিমাল মান মুদ্রণ করি।

লাইন 16: আমরা রূপান্তরিত হেক্সাডেসিমাল মানের প্রিন্ট প্রিন্ট করি, যা আউটপুটে দেখায় এটি একটি স্ট্রিং টাইপ।

সুতরাং, এখন আমরা স্ট্রিংটিকে একটি হেক্সাডেসিমাল ভ্যালুতে রূপান্তর করেছি।

পদ্ধতি 2: এনকোড () ব্যবহার করে স্ট্রিংকে হেক্সাডেসিমালে রূপান্তর করুন

আমরা সাধারণ স্ট্রিংকে হেক্সাডেসিমাল স্ট্রিং -এ রূপান্তর করতে পারি যার কোনো হেক্সাডেসিমাল অক্ষর নেই। এর জন্য, আমরা পদ্ধতি এনকোড () ব্যবহার করে স্ট্রিংটিকে বাইটে রূপান্তর করতে হবে এবং তারপরে আমরা নীচের চিত্রের মতো স্ট্রিংটিকে হেক্সাডেসিমালে রূপান্তর করতে পারি:


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



# স্ট্রিংটিকে বাইটে রূপান্তর করুন

পৃ= 'লিনাক্সহিন্ট'এনকোড('ইউটিএফ -8')



# রূপান্তরিত স্ট্রিংটি বাইটে প্রিন্ট করুন

ছাপা(পৃ)



# স্ট্রিং বাইটকে হেক্সাডেসিমাল স্ট্রিং এ রূপান্তর করুন

hex_str= পৃহেক্স()



# রূপান্তরিত হেক্সাডেসিমাল মান টাইপ প্রিন্ট করুন

ছাপা(টাইপ(hex_str))

আউটপুট:


2
3
'লিনাক্সহিন্ট'

<শ্রেণী 'str'>

লাইন 4 থেকে 7: আমরা এমন একটি স্ট্রিং তৈরি করেছি যার কোনো হেক্সাডেসিমাল অক্ষর নেই। এবং তারপর এনকোড () পদ্ধতি ব্যবহার করে সেই স্ট্রিংগুলিকে বাইটে রূপান্তর করুন। এবং তারপরে, আমরা সেই বাইটগুলি মুদ্রণ করি, যা আমরা আউটপুট লাইন নম্বর 1 এ দেখতে পাই।

লাইন 10 থেকে 13: আমরা ডট অপারেটর ব্যবহার করে হেক্স () পদ্ধতি বলি, এবং এখন বাইটগুলি আমাদের প্রয়োজনীয় হেক্সাডেসিমেল স্ট্রিং ভ্যালুতে রূপান্তরিত হয়। ফলাফলের স্ট্রিংটির ধরন নিশ্চিত করতে, আমরা কেবল 13 নম্বর লাইনটি মুদ্রণ করি এবং আউটপুট দেখায় যে এটি একটি স্ট্রিং হেক্সাডেসিমাল টাইপের।

পদ্ধতি 3. ast.literal_eval () পদ্ধতি ব্যবহার করে

আমরা ast লাইব্রেরি পদ্ধতি literal_eval ব্যবহার করে স্ট্রিংটিকে একটি পূর্ণসংখ্যায় রূপান্তর করতে পারি। এই পদ্ধতিটি স্ট্রিংকে হেক্সাডেসিমাল স্ট্রিংয়ে রূপান্তর করার জন্য hex () পদ্ধতি ব্যবহার করার জন্য স্ট্রিংকে একটি পূর্ণসংখ্যায় রূপান্তরিত করে। কিন্তু এই পদ্ধতিটি শুধুমাত্র 0x উপসর্গ অক্ষর গ্রহণ করে।


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'



# স্ট্রিংকে পূর্ণসংখ্যায় রূপান্তর করুন

convert_str=আক্ষরিক_মান(পৃ)



# convert_str এর মান এবং ধরন প্রিন্ট করুন

ছাপা(convert_str)

ছাপা('টাইপ', টাইপ(convert_str))



# hex () পদ্ধতিতে convert_str পাস করুন

hex_value= হেক্স(convert_str)

ছাপা(hex_value)



# মানের ধরন চেক করা

ছাপা(টাইপ(hex_value))

আউটপুট:


2
3
4
5
6
7
2730

টাইপ <শ্রেণী 'int'>

0xaaa

<শ্রেণী 'str'>

লাইন 2 থেকে 10: আমরা ast লাইব্রেরি থেকে literal_eval () পদ্ধতিটি আমদানি করি। তারপর আমরা 0x উপসর্গ দিয়ে একটি স্ট্রিং তৈরি করি। তারপরে আমরা সেই স্ট্রিংটি literal_eval () পদ্ধতিতে পাস করেছি এবং এটিকে পূর্ণসংখ্যায় রূপান্তর করেছি। আউটপুটটি পূর্ণসংখ্যা আকারে আছে তা নিশ্চিত করার জন্য, আমরা এটিকে লাইন নম্বর 9 এ মুদ্রণ করি।

লাইন 13 থেকে 17: আমরা অন্তর্নির্মিত হেক্স (এন) পদ্ধতি জানি যা পূর্ণসংখ্যা মান গ্রহণ করে, পূর্ণসংখ্যাকে হেক্সাডেসিমেল স্ট্রিংয়ে রূপান্তর করে। এজন্য আমরা স্ট্রিংটিকে হেক্স () পদ্ধতিতে পাস করার জন্য একটি পূর্ণসংখ্যায় রূপান্তর করতে হবে। আমরা যে রূপান্তর_স্টার (পূর্ণসংখ্যা) মানটি হেক্স () পদ্ধতিতে পাস করেছি এবং হেক্স_ভ্যালু, স্ট্রিং হেক্সাডেসিমাল পেয়েছি। আমরা সেই রূপান্তরিত হেক্সাডেসিমাল মান মুদ্রণ করি। আমরা রূপান্তরিত হেক্সাডেসিমাল মানের ধরনও মুদ্রণ করি, যা দেখায় এটি একটি স্ট্রিং হেক্সাডেসিমাল টাইপ।

ত্রুটি ব্যতিক্রম (TypeError):

কখনও কখনও আমরা স্ট্রিংকে হেক্সাডেসিমেল স্ট্রিং -এ রূপান্তর করার সময় ত্রুটি পেতে পারি। এর পিছনে কারণ হেক্স () পদ্ধতি শুধুমাত্র পূর্ণসংখ্যা মানকে একটি প্যারামিটার হিসাবে গ্রহণ করে।


2
3
4
5
6
7
string_hex= '0xFF'



hex_output= হেক্স(string_hex)

ছাপা(hex_output)

আউটপুট:


টাইপ ত্রুটি:'str' বস্তুব্যাখ্যা করা যাবে নাহিসাবেএকটি পূর্ণসংখ্যা

উপসংহার:

সুতরাং, আমরা স্ট্রিংকে হেক্সাডেসিমেল লোয়ারকেস স্ট্রিং এ রূপান্তর করার বিভিন্ন পদ্ধতি দেখেছি। হেক্স () পদ্ধতিটি এর সহজ ব্যবহারের কারণে খুবই জনপ্রিয়। কিন্তু কখনও কখনও, আমরা 0x উপসর্গ ব্যবহার না করে স্ট্রিংকে রূপান্তর করতে চাই, তাই সেই ক্ষেত্রে, আমরা বাইট এনকোড () পদ্ধতি ব্যবহার করতে পারি, যেমনটি আমরা ইতিমধ্যে নিবন্ধে দেখেছি।

এই নিবন্ধটির কোডটি নীচের গিথুব লিঙ্কে উপলব্ধ:

https://github.com/shekharpandey89/string-to-hex-conversion