کد اکتال (Octal) چیست؟ و چگونه در پایتون استفاده میشود؟
1️⃣ مفهوم کد اکتال
کد اکتال یک سیستم عددی پایه ۸ است که اعداد را با ارقام ۰ تا ۷ نمایش میدهد. در برنامهنویسی، مخصوصاً در رشتهها، این سیستم برای نمایش مستقیم مقدار عددی کاراکترها استفاده میشود. یعنی هر کد اکتال معادل یک عدد در مبنای ۱۰ (دهدهی) است که نشاندهنده یک کاراکتر مشخص در جدول ASCII یا Extended ASCII است.
2️⃣ چرا از کد اکتال استفاده میشود؟
🔻 نمایش کاراکترهای غیرقابل تایپ: بعضی کاراکترها مثل کاراکترهای کنترلی (مثل زنگ هشدار، تب، برگشت خط) را نمیتوان مستقیم در رشته نوشت، پس از کد اکتال استفاده میکنند.
🔻 سازگاری با زبانهای قدیمی و سیستمعاملها: بسیاری از سیستمها از کدهای اکتال استفاده میکردند.
🔻 خوانایی و واضح بودن: کدهای اکتال کوتاه و مختصرند و بعضی برنامهنویسان برای نمایاندن کاراکترها از آنها بهره میبرند.
3️⃣ چطور کد اکتال را در پایتون بنویسیم؟
در پایتون، کد اکتال به شکل \ooo (یک اسلش بکاسلش بهعلاوه ۳ رقم اکتال) نوشته میشود. مثلاً:
040\ یعنی کاراکتر فاصله (space) که معادل عدد ۳۲ در دسیمال است.
012\ یعنی خط جدید (Line Feed) که معادل عدد ۱۰ است.
4️⃣ محدودیتها
🔻 کد اکتال فقط میتواند تا عدد ۳۷۷ (۳ رقمی اکتال) را نمایش دهد که برابر ۲۵۵ دسیمال است. یعنی فقط میتواند کاراکترهای یک بایتای را پوشش دهد.
🔻 برای یونیکدهای گستردهتر و اموجیها باید از کدهای هگزادسیمال یونیکد (مثلاً uXXXX\ یا UXXXXXXXX\) استفاده کنید.
5️⃣ جدول نمونه کدهای اکتال رایج و کاربردشان
\040 → Space (فاصله)
\041 → ! (علامت تعجب)
\042 → " (گیومه دوتایی)
\043 → # (هشتگ)
\044 → $ (علامت دلار)
\045 → % (درصد)
\046 → & (و)
\047 → ' (گیومه تکی)
\050 → ( (پرانتز باز)
\051 → ) (پرانتز بسته)
\052 → * (ستاره)
\053 → + (بعلاوه)
\054 → , (ویرگول)
\055 → - (منها)
\056 → . (نقطه)
\057 → / (اسلش)
\060 → 0
\061 → 1
\062 → 2
\063 → 3
\064 → 4
\065 → 5
\066 → 6
\067 → 7
\070 → 8
\071 → 9
\072 → : (دو نقطه)
\073 → ; (نقطه ویرگول)
\074 → < (کمتر از)
\075 → = (برابر)
\076 → > (بزرگتر از)
\077 → ? (علامت سوال)
\100 → @ (آت)
\101 → A
\102 → B
\103 → C
\104 → D
\105 → E
\106 → F
\107 → G
\110 → H
\111 → I
\112 → J
\113 → K
\114 → L
\115 → M
\116 → N
\117 → O
\120 → P
\121 → Q
\122 → R
\123 → S
\124 → T
\125 → U
\126 → V
\127 → W
\130 → X
\131 → Y
\132 → Z
\133 → [ (براکت باز)
\134 → \ (بکاسلش)
\135 → ] (براکت بسته)
\136 → ^ (کلاهک)
\137 → _ (آندرلاین)
\140 → ` (بکتیک)
\141 → a
\142 → b
\143 → c
\144 → d
\145 → e
\146 → f
\147 → g
\150 → h
\151 → i
\152 → j
\153 → k
\154 → l
\155 → m
\156 → n
\157 → o
\160 → p
\161 → q
\162 → r
\163 → s
\164 → t
\165 → u
\166 → v
\167 → w
\170 → x
\171 → y
\172 → z
\173 → { (آکولاد باز)
\174 → | (خط عمودی)
\175 → } (آکولاد بسته)
\176 → ~ (تِلدا)
\177 → DEL (Delete)
💯 @PythonForYou 🧑💻👩💻