file
কমান্ড এনকোডিং সম্পর্কে "বেস্ট অনুমান" করে তোলে। এনকোডিং সম্পর্কিত তথ্য মুদ্রণের জন্য -i
প্যারামিটারটি ব্যবহার করুন file
।
প্রদর্শন:
$ file -i *
umlaut-iso88591.txt: text/plain; charset=iso-8859-1
umlaut-utf16.txt: text/plain; charset=utf-16le
umlaut-utf8.txt: text/plain; charset=utf-8
আমি কীভাবে ফাইলগুলি তৈরি করেছি:
$ echo ä > umlaut-utf8.txt
আজকাল সব কিছু utf-8। তবে নিজেকে বোঝান:
$ hexdump -C umlaut-utf8.txt
00000000 c3 a4 0a |...|
00000003
Https://en.wikedia.org/wiki/Ä# কম্পিউটার কম্পিউটার_ইনকোডিংয়ের সাথে তুলনা করুন
অন্যান্য এনকোডিংগুলিতে রূপান্তর করুন:
$ iconv -f utf8 -t iso88591 umlaut-utf8.txt > umlaut-iso88591.txt
$ iconv -f utf8 -t utf16 umlaut-utf8.txt > umlaut-utf16.txt
হেক্স ডাম্প পরীক্ষা করুন:
$ hexdump -C umlaut-iso88591.txt
00000000 e4 0a |..|
00000002
$ hexdump -C umlaut-utf16.txt
00000000 ff fe e4 00 0a 00 |......|
00000006
তিনটি মিশ্রিত করে কিছু "অবৈধ" তৈরি করুন:
$ cat umlaut-iso88591.txt umlaut-utf8.txt umlaut-utf16.txt > umlaut-mixed.txt
কি file
বলে:
$ file -i *
umlaut-iso88591.txt: text/plain; charset=iso-8859-1
umlaut-mixed.txt: application/octet-stream; charset=binary
umlaut-utf16.txt: text/plain; charset=utf-16le
umlaut-utf8.txt: text/plain; charset=utf-8
ছাড়া -i
:
$ file *
umlaut-iso88591.txt: ISO-8859 text
umlaut-mixed.txt: data
umlaut-utf16.txt: Little-endian UTF-16 Unicode text, with no line terminators
umlaut-utf8.txt: UTF-8 Unicode text
file
কমান্ড "বৈধ" বা "অবৈধ" কোন ধারণা আছে। এটি কেবল কিছু বাইট দেখে এবং এনকোডিং কী হতে পারে তা অনুমান করার চেষ্টা করে। মানুষ হিসাবে আমরা চিনতে সক্ষম হতে পারি যে কোনও ফাইল একটি "ভুল" এনকোডিংয়ে কিছু উমলাট সহ একটি পাঠ্য ফাইল। তবে কম্পিউটার হিসাবে এটির জন্য একরকম কৃত্রিম বুদ্ধি প্রয়োজন।
কেউ তর্ক করতে পারে যে হিউরিস্টিক্স file
হ'ল একরকম কৃত্রিম বুদ্ধিমত্তা। তবুও যদি তা হয় তবে এটি খুব সীমাবদ্ধ।
file
কমান্ড সম্পর্কে আরও তথ্য এখানে : http://www.linfo.org/file_command.html