کتابخانهای حرفهای و با کارایی بالا برای مدیریت کدگذاری قدیمی ایران سیستم در پایتون. این پکیج یک راهکار جامع برای تبدیل دوطرفه متنهای یونیکد به ایرانسیستم با رعایت دقیق استانداردهای میراثی، تشخیص هوشمند زبان و مدیریت بهینه اعداد است.
- ✅ تبدیل دوطرفه بینقص: تبدیل دقیق میان یونیکد و بایتهای ایرانسیستم.
- ✅ هسته پایتونی مستقل: حذف کامل وابستگیهای خارجی (مانند
arabic_reshaperوpython-bidi) برای دستیابی به سرعت و پایداری بالاتر. - ✅ پشتیبانی از افزونه C: شامل کدهای بهینهسازی شده به زبان C برای پردازشهای سنگین و سرعت حداکثری.
- ✅ تشخیص هوشمند زبان و متن:
- مبتنی بر محتوا: تشخیص خودکار متن فارسی (
fa) از انگلیسی (en). - مدیریت هوشمند اعداد: تبدیل خودکار اعداد به فرمت ایرانسیستم در متنهای فارسی و حفظ فرمت ASCII در متنهای انگلیسی.
- مبتنی بر محتوا: تشخیص خودکار متن فارسی (
- ✅ چیدمان بصری (Visual Ordering) دقیق: پیادهسازی مو به موی منطق تغییر شکل حروف و معکوسسازی متن مطابق با الگوریتمهای استاندارد کد C.
- ✅ رابط خط فرمان (CLI): ابزاری کاربردی برای کار مستقیم با انکودینگ در ترمینال.
pip install iran-encodingimport iran_encoding
# ۱. تبدیل متن یونیکد به ایرانسیستم
# عملیات Reshaping و Visual Ordering به صورت خودکار اعمال میشود
text = "سلام دنیا 123"
encoded = iran_encoding.encode(text)
print(encoded.hex())
# ۲. تبدیل بایتهای ایرانسیستم به یونیکد
decoded = iran_encoding.decode(encoded)
print(decoded) # خروجی: "سلام دنیا ۱۲۳"
# ۳. منطق تشخیص زبان
# وجود حروف فارسی باعث فعال شدن لوکال 'fa' میشود
print(iran_encoding.detect_locale("Hello سلام")) # 'fa'
# در صورت عدم وجود حروف فارسی، اعداد به انگلیسی تبدیل شده
# و از انکودینگ ASCII استفاده میشود
print(iran_encoding.detect_locale("Hello ۱۲۳")) # 'en'این پکیج ابزاری به نام iran-encoding را در اختیار شما قرار میدهد:
# تبدیل متن فارسی به هگز ایرانسیستم
iran-encoding encode "سلام دنیا"
# تبدیل هگز ایرانسیستم به متن یونیکد
iran-encoding decode-hex "a8 f3 91 f4"برخلاف یونیکد، ایران سیستم یک کدگذاری بصری است؛ به این معنا که کد هر حرف وابسته به شکل آن (اول، وسط، آخر یا تنها) در متن است.
این کتابخانه با استفاده از پورت مستقیم الگوریتمهای معتبر C، وظایف زیر را انجام میدهد: ۱. تغییر شکل (Reshaping) حروف بر اساس حروف مجاور. ۲. مدیریت چیدمان بصری برای نمایش صحیح راستبهچپ. ۳. کنترل توالیهای عددی و انگلیسی در میان متن فارسی.
این پیادهسازی سازگاری ۱۰۰ درصدی با پایگاههای داده قدیمی و پایانههای سختافزاری را تضمین میکند.
ما بر روی کیفیت کد تمرکز ویژهای داریم. تمام بخشهای اصلی با تستهای جامع پوشش داده شدهاند:
python3 -m pytest tests/- لایسنس: MIT - برای جزئیات بیشتر فایل LICENSE را مشاهده کنید.
- پشتیبانی: برای سوالات فنی و تجاری با ایمیل Iran-System-encoding@movtigroup.ir در ارتباط باشید.
- نویسنده: Iran System encoding (MovtiGroup)
مشارکت شما باعث خوشحالی ماست! برای گزارش باگ یا بهبود مستندات، لطفاً در مخزن گیتهاب پروژه مشارکت کنید.