লিনাক্সে ফাইলগুলি কীভাবে ইউটিএফ -8 এনকোডিংয়ে রূপান্তর করা যায়


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

আপনার সম্ভবত ইতিমধ্যে মনে থাকতে পারে, একটি কম্পিউটার চিঠিপত্র, সংখ্যা বা অন্য কিছু বোঝে না বা সঞ্চয় করে না যা আমরা মানুষ হিসাবে বিটগুলি ব্যতীত বুঝতে পারি। একটি বিটের কেবল দুটি সম্ভাব্য মান রয়েছে, তা হ'ল হয় একটি 0 বা 1 , সত্য বা মিথ্যা , <কোড > হ্যাঁ বা না । কম্পিউটারটি প্রক্রিয়া করার জন্য অক্ষর, সংখ্যা, চিত্রের মতো প্রতিটি অন্যান্য জিনিস বিটগুলিতে উপস্থাপন করতে হবে।

সহজ কথায় ক্যারেক্টার এনকোডিং হ'ল একটি কম্পিউটারকে কীভাবে কাঁচা শূন্যগুলি এবং প্রকৃত চরিত্রগুলিতে ব্যাখ্যা করতে হয় তার একটি উপায়, যেখানে সংখ্যার সেট দ্বারা একটি চরিত্র প্রতিনিধিত্ব করা হয়। আমরা যখন কোনও ফাইলে পাঠ্য টাইপ করি, তখন আমরা যে শব্দ এবং বাক্যগুলি রচনা করি সেগুলি বিভিন্ন অক্ষর থেকে রান্না করা হয়, এবং অক্ষরগুলি একটি অক্ষরেখণ্ডে সংগঠিত হয়।

এএসসিআইআই, এএনএসআই, ইউনিকোডের মতো বিভিন্ন এনকোডিং স্কিম রয়েছে। নীচে ASCII এনকোডিংয়ের একটি উদাহরণ দেওয়া আছে।

Character  bits
A               01000001
B               01000010

লিনাক্সে, আইকনভ কমান্ড লাইন সরঞ্জামটি এনকোডিংয়ের একটি ফর্ম থেকে অন্য রূপে পাঠ্য রূপান্তর করতে ব্যবহৃত হয়।

-i বা --mime পতাকা ব্যবহার করে আপনি ফাইল কমান্ড ব্যবহার করে কোনও ফাইলের এনকোডিং পরীক্ষা করতে পারেন যা নীচের উদাহরণগুলির মতো মাইম টাইপ স্ট্রিংয়ের মুদ্রণ সক্ষম করে:

$ file -i Car.java
$ file -i CarDriver.java

আইকনভি ব্যবহারের জন্য সিনট্যাক্সটি নিম্নরূপ:

$ iconv option
$ iconv options -f from-encoding -t to-encoding inputfile(s) -o outputfile 

যেখানে -f বা --from-code অর্থ ইনপুট এনকোডিং এবং -t বা - টু-এনকোডিং নির্দিষ্ট করে আউটপুট এনকোডিং।

সমস্ত পরিচিত কোডেড অক্ষর সেটগুলি তালিকা করতে, নীচের কমান্ডটি চালান:

$ iconv -l 

ইউটিএফ -8 থেকে এএসসিআইআই এনকোডিংয়ে ফাইল রূপান্তর করুন

এরপরে, আমরা শিখব কীভাবে একটি এনকোডিং স্কিম থেকে অন্যটিতে রূপান্তর করতে হয়। নীচের কমান্ডটি আইএসও -8859-1 থেকে ইউটিএফ -8 এনকোডিংয়ে রূপান্তর করে।

ইনপুট.ফায়াল নামের একটি ফাইল বিবেচনা করুন যা অক্ষরগুলি ধারণ করে:

� � � �

আসুন ফাইলের মধ্যে অক্ষরগুলির এনকোডিং পরীক্ষা করে শুরু করুন এবং তারপরে ফাইলের সামগ্রীগুলি দেখুন। কাছাকাছিভাবে, আমরা সমস্ত অক্ষরকে ASCII এনকোডিংয়ে রূপান্তর করতে পারি।

আইকনভিভি কমান্ড চালানোর পরে, আমরা তারপরে আউটপুট ফাইলের সামগ্রীগুলি এবং অক্ষরের নতুন এনকোডিংটি নীচের মত চেক করি।

$ file -i input.file
$ cat input.file 
$ iconv -f ISO-8859-1 -t UTF-8//TRANSLIT input.file -o out.file
$ cat out.file 
$ file -i out.file 

দ্রষ্টব্য: যদি /আইজিএনওর স্ট্রিংটি এনকোডিংয়ে যুক্ত হয় তবে এমন অক্ষর যা রূপান্তরিত হতে পারে না এবং রূপান্তর করার পরে একটি ত্রুটি প্রদর্শিত হয়।

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

ফলস্বরূপ, কোনও অক্ষর যা অনুলিপি করা যায় না এবং লক্ষ্য অক্ষর সেটে নেই, আউটপুটটিতে একটি প্রশ্ন চিহ্ন (?) দিয়ে প্রতিস্থাপন করা হয়।

একাধিক ফাইলকে ইউটিএফ -8 এনকোডিংয়ে রূপান্তর করুন

আমাদের মূল বিষয়টিতে ফিরে আসার জন্য, ডিরেক্টরিতে একাধিক বা সমস্ত ফাইলকে ইউটিএফ -8 এনকোডিংয়ে রূপান্তর করতে, আপনি এনকোডিং.শ নামে একটি ছোট শেল স্ক্রিপ্ট লিখতে পারেন:

#!/bin/bash
#enter input encoding here
FROM_ENCODING="value_here"
#output encoding(UTF-8)
TO_ENCODING="UTF-8"
#convert
CONVERT=" iconv  -f   $FROM_ENCODING  -t   $TO_ENCODING"
#loop to convert multiple files 
for  file  in  *.txt; do
     $CONVERT   "$file"   -o  "${file%.txt}.utf8.converted"
done
exit 0

ফাইলটি সংরক্ষণ করুন, তারপরে স্ক্রিপ্টটি সম্পাদনযোগ্য করুন। আপনার ফাইল ( * .txt ) যেখানে রয়েছে সেখান থেকে এটি চালান।

$ chmod  +x  encoding.sh
$ ./encoding.sh

গুরুত্বপূর্ণ: আপনি এই স্ক্রিপ্টটি এক থেকে অন্য এনকোডিংয়ে দেওয়া একাধিক ফাইলের সাধারণ রূপান্তরকরণের জন্য ব্যবহার করতে পারেন, কেবল FROM_ENCODING এবং TO_ENCODING ভেরিয়েবলের মানগুলি নিয়ে খেলুন not আউটপুট ফাইলের নাম ভুলে যাচ্ছেন "& # 36 {ফাইল% .txt ut .utf8.converted"

আরও তথ্যের জন্য, আইকনভ্যান পৃষ্ঠাটি দেখুন।

$ man iconv

এই গাইডের সংক্ষিপ্তসার হিসাবে, এনকোডিং বুঝতে এবং কীভাবে একটি অক্ষর এনকোডিং স্কিম থেকে অন্যটিতে রূপান্তর করবেন তা প্রতিটি কম্পিউটার ব্যবহারকারীর জন্য প্রয়োজনীয় জ্ঞান যাতে পাঠকদের সাথে ডিল করার ক্ষেত্রে আসে।

শেষ অবধি, যে কোনও প্রশ্ন বা প্রতিক্রিয়ার জন্য আপনি নীচের মন্তব্য বিভাগটি ব্যবহার করে আমাদের সাথে যোগাযোগ করতে পারেন।