انگلیسیفرانسویاسپانیایی

فاویکون OnWorks

perlunitut - آنلاین در ابر

اجرای perlunitut در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS

این دستور perlunitut است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


perlunitut - آموزش پرل یونیکد

شرح


روزهای پرتاب کردن رشته ها به پایان رسیده است. به خوبی ثابت شده که مدرن است
برنامه ها باید قادر به برقراری ارتباط با حروف لهجه خنده دار و چیزهایی مانند یورو باشند
نمادها این بدان معناست که برنامه نویسان به عادت های جدید نیاز دارند. برنامه نویسی با قابلیت یونیکد آسان است
نرم افزار، اما برای انجام درست آن نیاز به نظم و انضباط دارد.

چیزهای زیادی برای دانستن در مورد مجموعه کاراکترها و رمزگذاری متن وجود دارد. احتمالاً بهتر است
یک روز کامل را صرف یادگیری همه اینها کنید، اما اصول اولیه را می توان در چند دقیقه یاد گرفت.

اگرچه اینها خیلی اصولی نیستند. فرض بر این است که شما قبلاً تفاوت را می دانید
بین بایت ها و کاراکترها، و درک کنید (و بپذیرید!) که بسیار متفاوت هستند
مجموعه کاراکترها و کدگذاری ها، و اینکه برنامه شما باید در مورد آنها صریح باشد.
مطالعه توصیه شده این است "حداقل مطلق هر توسعه دهنده نرم افزار، مطلقا،
باید درباره یونیکد و مجموعه شخصیت ها بدانید (بدون بهانه!)" نوشته جوئل اسپولسکی، در
<http://joelonsoftware.com/articles/Unicode.html>.

این آموزش به صورت کاملاً مطلق صحبت می کند و فقط یک نمای محدود از آن ارائه می دهد
انبوهی از ویژگی های مرتبط با رشته کاراکتر که پرل ارائه می دهد. برای اکثر پروژه ها،
این اطلاعات احتمالا کافی خواهد بود.

تعاریف
مهم است که ابتدا چند چیز را مشخص کنید. این مهمترین بخش این است
آموزش این نما ممکن است با اطلاعات دیگری که ممکن است در آن پیدا کرده باشید مغایرت داشته باشد
وب، اما بیشتر به این دلیل است که بسیاری از منابع اشتباه هستند.

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

یونیکد

یونیکد مجموعه ای از شخصیت ها با فضایی برای تعداد زیادی شخصیت است. مقدار ترتیبی a
شخصیت a نامیده می شود رمز نقطه. (اما در عمل، تمایز بین نقطه کد
و کاراکتر تار است، بنابراین اصطلاحات اغلب به جای هم استفاده می شوند.)

نقاط کد بسیار بسیار زیادی وجود دارد، اما کامپیوترها با بایت ها کار می کنند و یک بایت جا دارد
فقط 256 مقدار یونیکد کاراکترهای بسیار بیشتری از آن دارد، بنابراین برای ساختن به روشی نیاز دارید
اینها در دسترس هستند

یونیکد با استفاده از چندین رمزگذاری رقیب کدگذاری می شود که UTF-8 بیشترین استفاده را دارد. که در
یک رمزگذاری یونیکد، چندین بایت بعدی را می توان برای ذخیره یک نقطه کد استفاده کرد، یا
به سادگی: شخصیت

UTF-8

UTF-8 یک رمزگذاری یونیکد است. بسیاری از مردم فکر می کنند که Unicode و UTF-8 یک چیز هستند،
اما آنها نیستند. رمزگذاری های یونیکد بیشتری وجود دارد، اما بسیاری از نقاط جهان استاندارد شده اند
در UTF-8.

UTF-8 با 128 کد اول، 0..127، مانند ASCII رفتار می کند. آنها فقط یک بایت می گیرند
در هر شخصیت همه کاراکترهای دیگر با استفاده از یک کمپلکس به صورت دو تا چهار بایت کدگذاری می شوند
طرح. خوشبختانه، پرل این کار را برای ما انجام می دهد، بنابراین لازم نیست نگران این موضوع باشیم.

متن رشته های (شخصیت رشته های)

متن رشته های، یا شخصیت رشته های از شخصیت ها ساخته شده اند. بایت ها در اینجا بی ربط هستند، و
رمزگذاری ها نیز همینطور هستند. هر شخصیت فقط همین است: شخصیت.

در یک رشته متن، کارهایی مانند زیر را انجام می دهید:

$text =~ s/foo/bar/;
if ($string =~ /^\d+$/) { ... }
$text = ucfirst $text;
من $character_count = طول $text;

مقدار یک کاراکتر ("ord"، "chr") نقطه کد یونیکد مربوطه است.

دوتایی رشته های (بایت رشته های)

دوتایی رشته های، یا بایت رشته های از بایت ساخته شده اند. در اینجا، شما شخصیت ندارید، فقط
بایت ها تمام ارتباطات با دنیای خارج (هر چیزی خارج از پرل فعلی شما
فرآیند) به صورت باینری انجام می شود.

در یک رشته باینری، کارهایی مانند:

my (@length_content) = بسته بندی "(V/a)*"، $binary;
$binary =~ s/\x00\x0F/\xFF\xF0/; # برای شجاعان :)
چاپ {$fh} $دودویی;
my $byte_count = طول $دودویی;

رمز گذاری

رمز گذاری (به عنوان فعل) تبدیل از متن به دوتایی. برای رمزگذاری، باید عرضه کنید
رمزگذاری هدف، به عنوان مثال "iso-8859-1" یا "UTF-8". برخی از رمزگذاری ها، مانند
محدوده "iso-8859" ("لاتین")، از استاندارد کامل یونیکد پشتیبانی نمی کند. شخصیت هایی که
نمی تواند نشان داده شود در تبدیل گم می شوند.

رمز گشایی

رمز گشایی تبدیل از است دوتایی به متن. برای رمزگشایی، باید بدانید کدگذاری چیست
در مرحله رمزگذاری استفاده شد. و مهمتر از همه، باید چیزی قابل رمزگشایی باشد. آی تی
رمزگشایی یک تصویر PNG به یک رشته متنی چندان منطقی نیست.

داخلی قالب

پرل دارای یک داخلی قالب، رمزگذاری است که از آن برای رمزگذاری رشته های متنی استفاده می کند تا بتواند
آنها را در حافظه ذخیره کنید تمام رشته های متنی در این قالب داخلی هستند. در واقع رشته های متنی
هرگز در قالب دیگری نیستند!

شما نباید نگران این باشید که این فرمت چیست، زیرا تبدیل به صورت خودکار انجام می شود
وقتی رمزگشایی یا رمزگذاری می کنید.

شما جدید ابزار
خط زیر را به عنوان استاندارد خود اضافه کنید:

استفاده از Encode qw (encode decode)؛

یا اگر تنبل هستید، فقط:

از Encode استفاده کنید.

I / O جریان ( واقعی 5 دقیقه آموزش)
جریان ورودی/خروجی معمول یک برنامه به صورت زیر است:

1. دریافت و رمزگشایی
2 روند
3. رمزگذاری و خروجی

اگر ورودی شما باینری است و قرار است باینری باقی بماند، نباید آن را به یک رمزگشایی کنید.
البته رشته متنی اما در تمام موارد دیگر، شما باید آن را رمزگشایی کنید.

اگر ندانید که چگونه داده ها رمزگذاری شده اند، رمزگشایی نمی تواند به طور قابل اعتمادی اتفاق بیفتد. اگر به
انتخاب کنید، ایده خوبی است که روی UTF-8 استانداردسازی کنید.

my $foo = رمزگشایی ('UTF-8'، دریافت 'http://example.com/')؛
my $bar = decode('ISO-8859-1', readline STDIN);
my $xyzzy = decode('Windows-1251', $cgi->param('foo'));

پردازش همانطور که قبلا می دانستید اتفاق می افتد. تنها تفاوت این است که شما اکنون از آن استفاده می کنید
کاراکتر به جای بایت اگر از چیزهایی مانند "substr" یا "substr" استفاده کنید، بسیار مفید است
"طول".

مهم است که بدانیم هیچ بایتی در یک رشته متنی وجود ندارد. البته پرل دارد
رمزگذاری داخلی آن برای ذخیره رشته در حافظه است، اما آن را نادیده بگیرید. اگر باید انجام دهید
هر چیزی که تعداد بایت ها را داشته باشد، احتمالاً بهتر است آن قسمت را فقط به مرحله 3 منتقل کنید
پس از اینکه رشته را رمزگذاری کردید. سپس می دانید که دقیقاً چند بایت خواهد بود
رشته مقصد

نحو برای رمزگذاری رشته های متنی به رشته های باینری به سادگی رمزگشایی است:

$body = encode('UTF-8', $body);

اگر لازم بود طول رشته را بر حسب بایت بدانید، اکنون زمان مناسبی برای آن است.
از آنجایی که $body اکنون یک رشته بایت است، "length" به جای اینکه تعداد بایت ها را گزارش کند
تعداد کاراکترها تعداد کاراکترها دیگر مشخص نیست، زیرا کاراکترها
فقط در رشته های متنی وجود دارد.

$byte_count من = طول $body;

و اگر پروتکلی که استفاده می‌کنید از روشی پشتیبانی می‌کند که به گیرنده اطلاع دهید
رمزگذاری کاراکتری که استفاده کردید، لطفاً با استفاده از آن ویژگی به گیرنده کمک کنید! برای
به عنوان مثال، ایمیل و HTTP از هدرهای MIME پشتیبانی می کنند، بنابراین می توانید از هدر "Content-Type" استفاده کنید.
آنها همچنین می توانند "Content-Length" را برای نشان دادن تعداد داشته باشند بایت، که همیشه یک است
ایده خوبی است که در صورت مشخص بودن تعداد، عرضه کنید.

"Content-Type: text/plain; charset=UTF-8"،
"طول محتوا: $byte_count"

خلاصه


هر چیزی را که دریافت می کنید رمزگشایی کنید، هر چیزی را که ارسال می کنید رمزگذاری کنید. (اگر داده های متنی باشد.)

Q و A (و یا پرسش و پاسخ)


پس از خواندن این سند، باید perlunifaq و سپس perluniintro را نیز بخوانید.

تقدیرنامه ها


با تشکر از Johan Vromans از Squirrel Consultancy. UTF-8 او در طول آمستردام ناله می کند
جلسات پرل مونگرز مرا علاقه مند و مصمم به یافتن چگونگی استفاده از شخصیت کرد
رمزگذاری در پرل به روشی که به راحتی خراب نمی شود.

با تشکر از جرارد گوسن از TTY. ارائه او "UTF-8 در طبیعت" (هلندی پرل
کارگاه 2006) به من انگیزه داد تا افکارم را منتشر کنم و این آموزش را بنویسم.

با تشکر از افرادی که در مورد این نوع مطالب در چندین کانال IRC پرل پرسیدند، و
مدام به من یادآوری می کنند که توضیح ساده تری لازم است.

از افرادی که این سند را قبل از انتشار عمومی برای من بررسی کردند، تشکر می کنم. آن ها هستند:
بنجامین اسمیت، یان پیتر کورنت، یوهان ورومانز، لوکاس مای، ناتان گری.

با استفاده از خدمات onworks.net از perlunitut به صورت آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

  • 1
    واحد در دقیقه
    واحد در دقیقه
    به ما در Gitter بپیوندید!
    https://gitter.im/unitedrpms-people/Lobby
    مخزن URPMS را در خود فعال کنید
    سیستم -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    دانلود unitedrpms
  • 2
    کتابخانه های C++ را تقویت کنید
    کتابخانه های C++ را تقویت کنید
    Boost قابل حمل رایگان را ارائه می دهد
    کتابخانه های C++ بررسی شده. این
    تاکید بر کتابخانه های قابل حمل است که
    با کتابخانه استاندارد C++ به خوبی کار کنید.
    به http://www.bo مراجعه کنید...
    Boost C++ Libraries را دانلود کنید
  • 3
    VirtualGL
    VirtualGL
    VirtualGL دستورات سه بعدی را از a تغییر مسیر می دهد
    برنامه OpenGL یونیکس/لینوکس بر روی یک
    GPU سمت سرور و تبدیل
    تصاویر سه بعدی را در یک جریان ویدیویی ارائه می کند
    با کدامیک ...
    VirtualGL را دانلود کنید
  • 4
    لیباسب
    لیباسب
    کتابخانه برای فعال کردن فضای کاربر
    برنامه های کاربردی برای برقراری ارتباط
    دستگاه های USB مخاطب: توسعه دهندگان، پایان
    کاربران / دسکتاپ. زبان برنامه نویسی: C.
    دسته بندی ها...
    دانلود libusb
  • 5
    سوئیچ
    سوئیچ
    SWIG یک ابزار توسعه نرم افزار است
    که برنامه های نوشته شده به زبان C و را به هم متصل می کند
    C++ با انواع سطح بالا
    زبانهای برنامه نویسی. SWIG با استفاده می شود
    ناهمسان...
    SWIG را دانلود کنید
  • 6
    تم ووکامرس Nextjs React
    تم ووکامرس Nextjs React
    موضوع React WooCommerce، ساخته شده با
    Next JS، Webpack، Babel، Node و
    Express با استفاده از GraphQL و Apollo
    مشتری. فروشگاه ووکامرس در React(
    شامل: محصولات ...
    دانلود قالب WooCommerce Nextjs React
  • بیشتر "

دستورات لینوکس

Ad