حدود دو یا سه سال پیش شایعه ای در مورد یک نکته خیلی خاص در Notepad ویندوز بین کاربران، مخصوصا کاربران ایرانی بوجود اومد.تمام نکته هم این بود که جمله زیر پس از ذخیره شدن، تغییر می کنه و به عبارت دیگه، اصلا جمله از بین می ره: iran win via atoms .اگر می خواهید بدانید که دلیل این دشمنی مایکروسافت با ایران و بمب اتم چیست به ادامه ترفند مراجعه کنید.

 

اگه این جمله رو توی notepad بنویسید و اون رو با هر اسمی که دوست داشتید ذخیره بکنید و بعد بازش بکنید، خواهید دید که چند تا مربع سیاه نمایش داده می شه!!!

تمام قضیه هم به این ترتیب هست که اگر در Notepad هر جمله ای رو به صورت:

" چهار کاراکتر+فاصله+سه کاراکتر+فاصله+سه کاراکتر+فاصله+پنج کاراکتر"

تایپ بکنید و اون رو با encoding=ANSI ذخیره بکنید، اون متن از بین می ره! و مایکروسافت هم هیچ دشمنی با ایران نداره !

چرا...

ماجرا این است كه Notepad برای تشخیص فایلهای Unicode از یك تابع API ویندوز به نام IsTextUnicode استفاده می كنه. این تابع هم برای اینكار الگوی تعدادی از بایتهای اول فایل را بررسی می كنه، اما همیشه نوع فایل را درست تشخیص نمی ده و در بعضی موارد فایلهای غیريونیكد را یونیكد تشخیص میده. یكی از این موارد وقتی است كه محتوای فایل به صورت زیر باشد:

**** *** *** *****

شما هر رشته ای که تعداد حروف مشابه داشته باشند را تایپ کنید همین نتیجه را میگیرید

مثلا:

aaaa bbb ccc ddddd

1234 123 123 12345

zzzz zzz zzz zzzzz

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