Utf-8 পাঠ্যে ফাইলের কোনও BOM রয়েছে কিনা তা কীভাবে পরীক্ষা করবেন


18

একটি utf-8 পাঠ্য ফাইলের কমান্ড লাইন থেকে একটি বিওএম আছে কিনা তা আমি কীভাবে পরীক্ষা করতে পারি?

fileকমান্ড আমাকে দেখায় UTF-8 Unicode text

তবে আমি জানি না এটির অর্থ ফাইলটিতে কোনও বিওএম নেই।

আমি ব্যবহার করছি Ubuntu 12.04


মনে রাখবেন যে ইউটিএফ -8 এ কোনও বিওএম নেই: এটি ইউটিএফ -16 এর বৈশিষ্ট্য। একটি ইউটিএফ -8 ফাইলটি ইউ + এফএফএফ অক্ষর দিয়ে শুরু হতে পারে তবে সেক্ষেত্রে এটি শূন্য-প্রস্থের স্থান।
গিলস 'তাই মন্দ হওয়া বন্ধ করুন'

উত্তর:


30

fileকোনও বিওএম থাকলে আপনাকে জানায়। আপনি পরীক্ষা করতে পারেন:

$ /usr/bin/printf "\ufeff...\n" | file -
/dev/stdin: UTF-8 Unicode (with BOM) text

দ্রষ্টব্য: fileচেঞ্জলগ অনুসারে , এই বৈশিষ্ট্যটি ইতিমধ্যে 2007 সালে বিদ্যমান ছিল So সুতরাং, এটি কোনও বর্তমান মেশিনে কাজ করা উচিত।


1
উত্তরের জন্য ধন্যবাদ. আমার fileসংস্করণ file-5.09এবং ফলাফল ছিল /dev/stdin: ASCII text। এটা কি সংস্করণ উপর নির্ভর করে file?
ironsand

@ টেটসু আমি file৫.০৪ (ডিবিয়ান স্কিজে ) দিয়ে পরীক্ষা করেছি এবং এটি ঠিক আছে। এমনকি 2007 সালে, পরিবর্তন অনুসারে (পরীক্ষা করা হয়নি)। তবে আমার উত্তরে আমি যে পরীক্ষা দিয়েছি তা করতে পারেন।
ভিঙ্ক 17

আমি সবে language-pack-jaথেকে ইনস্টল করেছি apt, তবে আপনার উদাহরণটি পুরোপুরি কার্যকর হয়। আপনার সাহায্যের জন্য ধন্যবাদ!
ironsand

4

আপনি যদি stat fileNameএটি কার্যকর করেন তবে আপনাকে অবশ্যই তিনটি অক্ষর দেওয়া উচিত। আমি যখন সম্পাদকটিতে ফাইলটি খুলি তখন আমি কিছুই দেখতে পারা যায় না। সুতরাং ফাইল আকারটি 3 ছিল তা আমাকে পরিষ্কার করে দিয়েছে যে এটিতে একটি বিওএম রয়েছে।

এছাড়াও, পোস্ট এখানে আমার ক্ষেত্রে helful ছিল।

hexdump -n 3 -C 2.txt
00000000 ef bb bf
ef bb bf // YES
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.