این کاراکتر چیست؟ 65279

سلام بر بچه ها

یکی از مشکلاتی که در برنامه نویسی ممکن است به آن برخورد کنید، برخورد با کاراکتر ascii با کد 65279 می باشد.

این مشکل بیشر در هنگام خواندن فایلها رخ می دهد.

این مشکل ربطی به زبان برنامه نویسی شما ندارد در همه زبان های برنامه نویسی ممکن است رخ دهد.

این کاراکتر به اسم

zero-width no-break space

شناخته می شود و بیشتر هنگامی رخ می دهد که فایل شما به صورت
byte-order mark (BOM)
ذخیره شده باشد.

لذا کافی است که فایل خود را بدون این ویژگی ذخیره کنید.

مثلا فرض کنید من فایل زیر را می خوانم.

fid=fopen(‘retio.sr’,’r’);

با دستور زیر هر خط آنرا به ترتیب در یک حلقه می خوانم

tline = fgetl(fid)

فرض کنید عدد 1 در اولین خط آن قرار داشته باشد.

شما این خط را می خوانید و با کمال تعجب می بینید که چیزی که خواندید دارای 2 بعد می باشد.

بعد اول چیزی که خواندید همین کاراکتر اسکی 65279 می باشد.

اگر خروجی tline را چاپ کنید تنها عدد 1 را می بینید و این کد اسکی مخفی است.

برای دیدن این کد کافی است tline را به دستور double بفرستید.

 

1 دیدگاه دربارهٔ «این کاراکتر چیست؟ 65279»

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *