rodeo چیزی است شبیه IPython notebook اما سبکتر و به نظر من باحالتر
برای تصب و استفاده
pip install rodeo
rodeo .
rodeo چیزی است شبیه IPython notebook اما سبکتر و به نظر من باحالتر
برای تصب و استفاده
pip install rodeo
rodeo .
Unicode استانداردی است که نگاشتی بین تمامی کاراکترها با اعداد فراهم کرده است (البته این تعریف فنی نیست و فقط برای ارائه درکی از موضوع بیان شده)
آنچه برای کامپیوتر قابل فهم است بایت است و نه کاراکترهای رشته. قوانین تبدیل کاراکترهای یک رشته به بایت را encoding می گویند. دو نوع encoding متداول عبارتند از ASCII و Unicode.
Unicode Encoding می تواند UTF-8 یا UTF-16 و یا UTF-32 باشد (هنگام ذخیره یک فایل در notepad ویندور، منظور از unicode همان UTF-16 است)
َASCII برای هر کاراکتر یک بایت درنظر می گیرد (هر کاراکتر به عنوان یک عدد بین 0 تا 127 در 7 بیت ذخیره می شود- بیت علامت همیشه 0 است)
UTF-32 برای هر کاراکتر 4 بایت در نظر می گیرد (هر کاراکتر به عنوان یک عدد بین 00000000 - 0010FFFF در 21 بیت ذخیره می شود - 11 بیت اول همیشه 0 است)
UTF-16 برای هر کاراکتر 2 یا 4 بایت در نظر می گیرد (اگر عدد مربوط به کاراکتر بین 00000000 - 0000FFFF باشد در 2 بایت و اگر بین 00010000 - 0010FFFF باشد در 4 بایت ذخیره می شود)
UTF-8 برای هر کاراکتر می تواند 1 تا 4 بایت در نظر بگیرد (اگر عدد مربوط به کاراکتر بین 00000000 - 0000007F باشد همانند اسکی در یک بایت و اگر بین 00000080 - 000007FF باشد در 2 بایت و اگر بین 00000800 - 0000FFFF باشد در 3 بایت و اگر بین 00010000 - 001FFFFF باشد در 4 بایت) - در جدول زیر دو ردیف دیگر هم برای UTF-8 قرار دارد که خارج از محدوده یونیکد قرار می گیرند ولی از لحاظ تئوری UTF-8 قابلیت استفاده از آن برای پوشش همه اعداد قرار گرفته بین 0 تا 2^31 را دارد
Unicode | UTF-32 |
---|---|
00000000 - 0010FFFF |
00000000-000xxxxx-xxxxxxxx-xxxxxxxx |
Unicode | UTF-16 |
---|---|
00000000 - 0000FFFF | xxxxxxxx-xxxxxxxx |
00010000 - 0010FFFF | 110110yy-yyxxxxxx 110111xx-xxxxxxxx |
Unicode | UTF-8 |
---|---|
00000000 - 0000007F | 0xxxxxxxx |
00000080 - 000007FF | 110xxxxx 10xxxxxx |
00000800 - 0000FFFF | 1110xxxx 10xxxxxx 10xxxxxx |
00010000 - 001FFFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
00200000 - 03FFFFFF* | 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
04000000 - 7FFFFFFF* | 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
مقاله ای در سایت مستندات پایتون دیدم که با زبان بسیار ساده به معرفی یونیکد پرداخته است.
در این پست چند نکته بسیار مختصر از مقاله را یاداشت کرده ام ولی خواندن کل مقاله را به علاقه مندان توصیه می کنم
UTF-8 یکی از متداول ترین encodingها است. UTF مختصر شده Unicode Transformation Format است و عدد 8 در آن یعنی از اعداد 8 بیتی (1 بایتی) در این encoding استفاده شده است و شامل قوانین زیر می شود:
اگر code point کمتر از 128 بود همانند ASCII Encoding هر بایت معادل همان code point خواهد بود اما اگر code point بزرگتر از 127 بود (بر خلاف ASCII که قابل تبدیل code point های بیشتر از 127 به بایت را ندارد) به توالی از 2 یا 3 یا 4 بایت تبدیل می شود که هر بایت آن عددی بین 128 تا 255 است
در هر قسمتی از برنامه پایتون با فراخوانی کد زیر دیکشنری از متغیرهای محلی و مقادیر آنها را دریافت خواهید کرد
import sys
sys._getframe().f_locals