Ajratuvchi - Delimiter

A dan parchani stilistik tasvirlash CSV - formatlangan matnli fayl. Vergullar (qizil rangda ko'rsatilgan) maydonlarni ajratuvchi sifatida ishlatiladi.

A ajratuvchi bir yoki bir nechtasining ketma-ketligi belgilar alohida, mustaqil mintaqalar o'rtasidagi chegarani belgilash uchun Oddiy matn, matematik iboralar yoki boshqa ma'lumotlar oqimlari.[1][2][3] Ajratuvchiga misol vergul belgisi sifatida ishlaydi maydonni ajratuvchi ketma-ketlikda vergul bilan ajratilgan qiymatlar. Ajratishning yana bir misoli - bu uzatishda harflar va so'zlarni ajratish uchun ishlatiladigan vaqt oralig'i Mors kodi.

Yilda matematika, ajratuvchi vositalar ko'pincha an hajmini belgilash uchun ishlatiladi operatsiya va ikkalasi ham ajratilgan belgilar sifatida yuzaga kelishi mumkin (masalan, yo'g'on ichak ichida "") va qarama-qarshi ko'rinadigan juftlik belgisi sifatida (masalan, burchakli qavslar yilda ).[1]

Ajratuvchilar a chegaralarini belgilashning turli xil vositalaridan birini anglatadi ma'lumotlar oqimi. Deklaratsion yozuv Masalan, ma'lumotlar oqimi boshida uzunlik maydonini ishlatib, ma'lumotlar oqimi tarkibidagi belgilar sonini belgilash uchun alternativ usul.[4]

Umumiy nuqtai

Ajratuvchilar maydon va yozuvlarni ajratuvchi yoki qavs bilan ajratuvchi sifatida tavsiflanishi mumkin.

Dala va yozuvlarni ajratuvchi vositalar

Maydonlarni ajratuvchi ma'lumotlar maydonlarini ajratib turadi. Ajratuvchilarni maydonlarning alohida guruhlarini yozib oling.[5]

Masalan, CSV fayl formati orasida ajratuvchi sifatida vergul ishlatiladi dalalar va an chiziq oxiri orasidagi ajratuvchi sifatida ko'rsatkich yozuvlar:

fname, lname, yoshi, ish haqi, davio, 33, 30000 dollar, Borakova, 28, 25250 dollar, rafael, 35, 28700 dollar

Bu oddiy narsani belgilaydi tekis fayllar bazasi stol CSV fayl formatidan foydalanish.

Qavsni ajratuvchi vositalar

Qavsni ajratuvchi, shuningdek, blok ajratuvchi, mintaqani ajratuvchi yoki muvozanatli ajratuvchi deb nomlanadi, matn mintaqasining boshi va oxirini belgilaydi.[6][7]

Qavsni ajratuvchilarning keng tarqalgan misollariga quyidagilar kiradi:[8]

AjratuvchilarTavsif
( )Qavslar. The Lisp dasturlash tili sintaksisini, avvalambor, qavslardan foydalangan holda tanib olish mumkin.[9]
{ }Qavslar (shuningdek deyiladi) jingalak qavslar.[10])
[ ]Qavslar (odatda pastki yozuvni belgilash uchun ishlatiladi)
< >Burchak qavslari.[11]
" "odatda belgilash uchun ishlatiladi torli harflar.[12]
' 'odatda belgi harflarini belgilash uchun ishlatiladi.[12]
<? ?>XML-ni ko'rsatish uchun ishlatiladi ishlov berish bo'yicha ko'rsatmalar.[13]
/* */belgilash uchun ishlatilgan Izohlar ba'zi dasturlash tillarida.[14]
<% %>ba'zilarida ishlatilgan veb-andozalar til chegaralarini belgilash uchun. Bular ham deyiladi shablonni ajratuvchilar.[15]

Konventsiyalar

Tarixiy jihatdan hisoblash platformalari ma'lum chegaralovchilarni odatiga ko'ra ishlatgan.[16][17] Quyidagi jadvallarda taqqoslash uchun bir nechta misollar tasvirlangan.

Dasturlash tillari(Shuningdek qarang, Dasturlash tillarini taqqoslash (sintaksis) ).

String LiteralBayonotning oxiri
Paskalbitta taklifvergul
Pythonikkilangan, bitta kotirovkasatr oxiri (EOL)

Maydon va yozuvlarni ajratuvchi vositalar (Shuningdek qarang, ASCII, Belgini boshqarish ).

Maydonning oxiriYozuvning oxiriFayl oxiri
Unixga o'xshash tizimlar, shu jumladan macOS, AmigaOSYorliqLFyo'q
Windows, MS-DOS, OS / 2, CP / MYorliqCRLFyo'q (CP / M tashqari), Boshqarish-Z[18]
Klassik Mac OS, Apple DOS, ProDOS, GS / OSYorliqCRyo'q
ASCII / UnicodeUNIT SEPARATOR
Lavozim 31 (U + 001F)
RECORD SEPARATOR
Lavozim 30 (U + 001E)
FILE SEPARATOR
Lavozim 28 (U + 001C)

Ajratuvchi to'qnashuv

Ajratuvchi to'qnashuv muallif yoki dasturchi ajratuvchilarni alohida mintaqalar orasidagi chegara sifatida talqin qilinishini niyat qilmasdan matnga kiritganda yuzaga keladigan muammo.[5][19] Masalan, XML misolida, bu muallif har safar an-ni belgilashga urinishda yuz berishi mumkin burchakli qavs belgi.

Ko'pgina fayl turlarida ham maydonni ajratuvchi, ham yozuvlarni ajratuvchi mavjud, ikkalasi ham to'qnashuvga uchraydi. Bo'lgan holatda vergul bilan ajratilgan qiymatlar fayllar, masalan, maydon to'qnashuvi muallif vergulni maydon qiymatining bir qismi sifatida kiritishga urinishda yuz berishi mumkin (masalan, ish haqi = "$ 30,000") va yozuv chegaralovchi to'qnashuv maydon ko'p satrlardan iborat bo'lganda yuz berishi mumkin. Matn fayllarida yozuvlar va maydonlarni ajratuvchi to'qnashuvlar tez-tez uchraydi.

Ba'zi kontekstlarda zararli foydalanuvchi yoki tajovuzkor ushbu muammodan qasddan foydalanishga intilishi mumkin. Binobarin, ajratuvchi to'qnashuv xavfsizlik manbai bo'lishi mumkin zaifliklar va ekspluatatsiya. Zararli foydalanuvchilar, masalan, tillarda ajratuvchi to'qnashuvdan foydalanishlari mumkin SQL va HTML kabi taniqli hujumlarni amalga oshirish SQL in'ektsiyasi va saytlararo skript navbati bilan.

Yechimlar

Ajratuvchi to'qnashuv juda keng tarqalgan muammo ekan, uni oldini olishning turli usullari ixtiro qilingan. Ba'zi mualliflar ma'lumotlar oqimining o'zida paydo bo'lmasligi mumkin bo'lgan ajratuvchi belgini (yoki belgilar ketma-ketligini) tanlash orqali muammodan qochishga urinishlari mumkin. Bu maxsus yondashuv mos bo'lishi mumkin, ammo bu ma'lumotlar oqimida paydo bo'ladigan narsalarning to'g'ri taxminiga bog'liq va zararli to'qnashuvlarga qarshi xavfsizlikni ta'minlamaydi. Shuning uchun boshqa rasmiy anjumanlar ham qo'llaniladi.

ASCII ajratilgan matn

ASCII va Unicode belgilar majmuasi ushbu muammoni ajratuvchi sifatida ishlatilishi mumkin bo'lgan bosmadan chiqarilgan belgilar bilan ta'minlash orqali hal qilish uchun ishlab chiqilgan. Ular ASCII 28 dan 31 gacha.

ASCII DekabrBelgilarUnicode nomiUmumiy ismFoydalanish
28To'rtinchi ma'lumotfayl ajratuvchiFayl oxiri. Yoki alohida fayllar bo'lishi mumkin bo'lgan narsalarni biriktirish o'rtasida.
29Uchinchi ma'lumotguruh ajratuvchiMa'lumotlar bo'limlari orasida. Oddiy ma'lumotlar fayllarida kerak emas.
30Ikkinchi ma'lumotyozuvlarni ajratuvchiYozuv yoki qatorning oxiri.
31Ma'lumotni ajratuvchibirlik ajratuvchiYozuv maydonlari yoki qator a'zolari o'rtasida.

ASCII 31 dan foydalanish Birlikni ajratuvchi maydonni ajratuvchi va ASCII 30 sifatida Yozuvni ajratuvchi matnli ma'lumotlar oqimida paydo bo'ladigan ikkala maydon va yozuvlarni ajratuvchi muammolarini hal qiladi.[20]

Qochish belgisi

Ajratuvchi to'qnashuvni oldini olishning usullaridan biri bu foydalanishdir qochish belgilar. Til dizayni nuqtai nazaridan ular etarli, ammo ularning kamchiliklari bor:

  • Ko'p sonli qochish belgilar bilan to'ldirilganida, matn o'qilmaydi moyil tish po'sti sindromi (to escape / in yordamida tufayli Perl doimiy iboralar, " / /") kabi ketma-ketliklarga olib keladi;
  • matnni doimiy ifoda orqali tahlil qilish qiyin bo'ladi
  • ular qochish belgisi sifatida mo'ljallanmagan bo'lsa, "qochishdan qochish" mexanizmini talab qiladi; va
  • yozish oson bo'lsa-da, ular tilni yaxshi bilmaydigan kishiga sirli bo'lishi mumkin.[21]
  • ular in'ektsiya hujumlaridan himoya qilmaydi[iqtibos kerak ]

Qochish ketma-ketligi

Qochish ketma-ketligi qochib ketadigan belgilarga o'xshaydi, faqat ular odatda bitta belgi o'rniga qandaydir mnematikadan iborat. Bitta foydalanish torli harflar Ikki raqamli (") belgini o'z ichiga olgan. Masalan Perl, kod:

chop etish "Nensi olomonga  x22 Salom Dunyo!  X22 dedi.";  ### use  x22

bilan bir xil mahsulot ishlab chiqaradi:

chop etish "Nensi olomonga " Salom Dunyo!  "Dedi.";      ### qochish char-dan foydalaning

Odamlar tomonidan ishlatilganda qochish ketma-ketliklarining bir kamchiliklari - bu alohida belgilarni ifodalovchi kodlarni yodlash zarurati (shuningdek qarang: belgi uchun mos yozuvlar, raqamli belgilar ma'lumotnomasi ).

Ikkala tirnoqli ajratuvchilar

Qochish ketma-ketliklari va qochish belgilaridan farqli o'laroq, ikkitomonlama ajratuvchilar ajratuvchi to'qnashuvni oldini olishning yana bir usulini taqdim etadi. Masalan, ba'zi bir tillar matn satrini belgilash uchun bitta tirnoq (') yoki ikkilangan taklif (") dan foydalanishga ruxsat beradi. Masalan, Perl:

chop etish Nensi "Salom dunyo!" Dedi. olomonga. ';

qochishni talab qilmasdan kerakli mahsulotni ishlab chiqaradi. Biroq, ushbu yondashuv faqat mag'lubiyatga ega bo'lmaganda ishlaydi ikkalasi ham tirnoq belgilarining turlari.

Ajratuvchi qismlarga iqtiboslarni to'ldirish

Qochish ketma-ketliklari va qochish belgilaridan farqli o'laroq, to'ldiruvchi delimiters ajratuvchilar to'qnashuvidan qochishning yana bir usulini taqdim etadi. Visual Basic Masalan, ajratuvchi sifatida qo‘sh tirnoqlardan foydalaniladi. Bu ajratuvchidan qochishga o'xshaydi.

chop etish "Nensi" "Salom dunyo!" "Olomonga" dedi.

qochishni talab qilmasdan kerakli mahsulotni ishlab chiqaradi. Ammo muntazam qochish singari, ko'plab tirnoqlardan foydalanilganda chalkashlik paydo bo'lishi mumkin, yuqoridagi manba kodini chop etish uchun kod yanada chalkashroq ko'rinadi:

chop etish "chop etish" "Nensi dedi" "" "Dunyoga salom!" "" "olomonga." ""

Ayirboshlovchilarning sozlanishi muqobil

Ikkala ajratuvchilardan farqli o'laroq, ajratuvchi to'qnashuvni oldini olish uchun bir nechta ajratuvchi yanada moslashuvchan.[22]

Masalan, ichida Perl:

chop etish qq ^ Nensi "Salom dunyo!" demoqchi emas. endi. ^;chop etish qq @ Nensi "Salom dunyo!" demoqchi emas. endi. @;chop etish qq (Nensi endi "Salom Dunyo!" demoqchi emas.);

barchasi yordamida kerakli mahsulotni ishlab chiqaradi kotirovka operatorlari, bu har qanday qulay belgining ajratuvchi vazifasini bajarishiga imkon beradi. Ushbu usul yanada moslashuvchan bo'lishiga qaramay, ozgina tillar uni qo'llab-quvvatlaydi. Perl va Yoqut ikkitasi.[23][24]

Tarkib chegarasi

A tarkib chegarasi ajratuvchi to'qnashuvga qarshi turish uchun maxsus ishlab chiqilgan ajratuvchining maxsus turi. U muallifga ko'p qismli xabarda har doim qismlar orasidagi chegarani ko'rsatishi kafolatlangan belgilar izchilligini belgilashga imkon berish orqali ishlaydi, boshqa izohlash mumkin emas.[25]

Ajratuvchi tez-tez tasodifiy belgilar ketma-ketligidan hosil bo'ladi, ular tarkibida statistik jihatdan mumkin emas. Buning ortidan a kabi aniqlovchi belgi qo'yilishi mumkin UUID, a vaqt tamg'asi, yoki boshqa biron bir farqlovchi belgi. Shu bilan bir qatorda, matnda ajratuvchi bo'lmasligi uchun tarkibni skanerlash mumkin. Bu ajratuvchini qisqartirish yoki soddalashtirishga imkon berishi va hujjatning inson tomonidan o'qilishini oshirishi mumkin. (Masalan, qarang., MIME, Bu erda hujjatlar ).

Bo'sh joy yoki chuqurlik

Ba'zi dasturlash va kompyuter tillari foydalanish imkoniyatini beradi bo'shliqni ajratuvchi yoki chuqurlik matnda mustaqil mintaqalar orasidagi chegaralarni belgilash vositasi sifatida.[26]

Muntazam ekspression sintaksis

A ko'rsatishda doimiy ifoda, uchun sintaksisini soddalashtirish uchun muqobil ajratuvchi vositalardan ham foydalanish mumkin o'yin va almashtirish operatsiyalar Perl.[27]

Masalan, Perl-da quyidagi sintaksis bilan oddiy o'yin jarayoni ko'rsatilishi mumkin:

$ string1 = Nensi "Salom dunyo!" Dedi. olomonga. ';    # maqsadli qatorni ko'rsatingchop etish $ string1 =~ m / [aeiou] + /;                           # bir yoki bir nechta unlilarga mos keladi

Sintaksis alternativ ajratuvchilar bilan mos keladigan operatsiyalarni belgilash uchun etarlicha moslashuvchan bo'lib, ajratuvchi to'qnashuvni oldini olish oson:

$ string1 = 'Nensining aytishicha, "http: //Hello/World.htm" bu manzil to'g'ri emas.'; # maqsadli satr   chop etish $ string1 =~ m @ http: // @;       muqobil muntazam ifodani ajratuvchi vositadan foydalangan holda # matchchop etish $ string1 =~ m {http: //};       # oldingi bilan bir xil, lekin har xil ajratuvchichop etish $ string1 =~ m! http: //!;       # oldingi bilan bir xil, lekin har xil ajratuvchi.

Bu erda hujjat

A Bu erda hujjat maxsus yakuniy ketma-ketlikni tavsiflash orqali o'zboshimchalik bilan tarkibni kiritishga imkon beradi. Ko'pgina tillar buni qo'llab-quvvatlaydi PHP, bosh skriptlari, yoqut va perl. Bu erda hujjat yakuniy ketma-ketlik qanday bo'lishini tavsiflash bilan boshlanadi va yangi qator boshida ushbu ketma-ketlik paydo bo'lguncha davom etadi.[28]

Perl-ga misol:

chop etish <<ENDOFHEREDOC;Ipni "ma'lum belgilar" bilan kodlash juda qiyin.Yangi chiziqlar, vergullar va boshqa belgilar ajratuvchi to'qnashuvlarga olib kelishi mumkin.ENDOFHEREDOC

Ushbu kod quyidagicha chop etilishi kerak edi:

Ipni "ma'lum belgilar" bilan kodlash juda qiyin .Yangi chiziqlar, vergullar va boshqa belgilar ajratuvchi to'qnashuvlarga olib kelishi mumkin.

Maxsus so'nggi ketma-ketlik yordamida satrda barcha belgilarga ruxsat beriladi.

ASCII zirhi

Ikkilik ma'lumotlarning matnli kodlash mexanizmi sifatida asosan ishlatilgan bo'lsa-da,ASCII qurol-yarog ' dasturlash va tizimlarni boshqarish texnikasi bo'lib, u ba'zi holatlarda bo'linish to'qnashuvining oldini olishga yordam beradi.[29][30] Ushbu uslub yuqorida tavsiflangan boshqa yondashuvlardan farq qiladi, chunki u ancha murakkab va shu sababli kichik dasturlar va ma'lumotlarni saqlashning oddiy formatlari uchun mos emas. Texnikada maxsus kodlash sxemasi qo'llaniladi, masalan 64, uzatilgan ma'lumotlarda ajratuvchi yoki boshqa muhim belgilar ko'rinmasligini ta'minlash. Maqsad ko'p qatlamliklarning oldini olishdir qochish, ya'ni uchun dublyajlar.

Ushbu texnik, masalan, ichida ishlatiladi Microsoft "s ASP.NET veb-ishlab chiqish texnologiyasi va ushbu tizimning "VIEWSTATE" komponenti bilan chambarchas bog'liq.[31]

Misol

Quyidagi soddalashtirilgan misol ushbu texnikaning amalda qanday ishlashini namoyish etadi.

Birinchi kod fragmentida oddiy narsa ko'rsatilgan HTML yorlig'i unda VIEWSTATE qiymati HTML yorlig'i ajratuvchilariga mos kelmaydigan belgilarni o'z ichiga oladi:

 turi ="yashirin" ism ="__VIEWSTATE" qiymati ="BookTitle: Nensi aytmaydi"Salom Dunyo! " endi. " />

Ushbu birinchi kod bo'lagi emas yaxshi shakllangan va shuning uchun "haqiqiy dunyo" o'rnatilgan tizimida to'g'ri ishlamaydi.

Aksincha, ikkinchi kod fragmenti xuddi shu HTML yorlig'ini ko'rsatadi, faqat bu vaqt ichida VIEWSTATE qiymatidagi mos kelmaydigan belgilar base64 kodlash dasturi yordamida o'chiriladi:

 turi ="yashirin" ism ="__VIEWSTATE" qiymati ="Qm9va1RpdGxlOk5hbmN5IGRvZXNuJ3Qgc2F5ICJIZWxsbyBXb3JsZCEiIGFueW1vcmUu" />

Uchinchi kod fragmenti xuddi shu HTML yorlig'ini ko'rsatadi, faqat bu vaqt ichida VIEWSTATE qiymatidagi mos kelmaydigan belgilar o'chiriladi foizli kodlash:

 turi ="yashirin" ism ="__VIEWSTATE" qiymati ="BookTitle: Nensi% 20doesn% 27t% 20say% 20% 22Salom% 20World!% 22% 20anymore." />

Bu ajratuvchi to'qnashuvning oldini oladi va asl (dekodlangan) matnda qanday belgilar paydo bo'lishidan qat'i nazar, HTML kodi ichida mos kelmaydigan belgilar paydo bo'lmasligini ta'minlaydi.[31]

Shuningdek qarang

Adabiyotlar

  1. ^ a b "Matematik ramzlar to'plami: ajratuvchilar". Matematik kassa. 2020-03-01. Olingan 2020-08-09.
  2. ^ "Ta'rif: ajratuvchi". 1037C Federal standarti - Telekommunikatsiya: Telekommunikatsiya atamalarining lug'ati. Arxivlandi asl nusxasidan 2013-03-05. Olingan 2019-11-25.
  3. ^ "Ajratuvchi nima?". www.computerhope.com. Olingan 2020-08-09.
  4. ^ Rohl, Jeffri S. (1973). Fortranda dasturlash. Oksford Oksfordshir: Oksford universiteti matbuoti. ISBN  978-0-7190-0555-8. Fortran dasturlash tili ostida Hollerith notation-da usulni tavsiflash.
  5. ^ a b de Mur, Jorj J. (1993). Sog'liqni saqlash informatikasida standartlashtirish bo'yicha taraqqiyot. IOS Press. ISBN  90-5199-114-2. p. 141
  6. ^ Fridl, Jeffri E. F. (2002). Muntazam iboralarni o'zlashtirish: Perl va boshqa vositalar uchun kuchli usullar. O'Rayli. ISBN  0-596-00289-0. p. 319
  7. ^ Skott, Maykl Li (1999). Dasturlash tili pragmatikasi. Morgan Kaufmann. ISBN  1-55860-442-1.
  8. ^ Devor; Larri; Jon Orvant (2000 yil iyul). Dasturlash Perl (Uchinchi nashr). O'Rayli. ISBN  0-596-00027-8.
  9. ^ Kaufmann, Matt (2000). Kompyuter yordamida fikr yuritish: yondashuv. Springer. ISBN  0-7923-7744-3.p. 3
  10. ^ Meyer, Mark (2005). Kompyuter fanidagi tadqiqotlar. Oksford Oksfordshir: Oksford universiteti matbuoti. ISBN  978-0-7637-3832-7. jingalak qavs va nuqta-verguldan iborat C uslubidagi dasturlash tillariga havola.
  11. ^ Dilligan, Robert (1998). Veb-asrda hisoblash. Oksford Oksfordshir: Oksford universiteti matbuoti. ISBN  978-0-306-45972-6.HTML-da ishlatiladigan sintaksis va ajratuvchilarni tavsiflaydi.
  12. ^ a b Shvarts, Randal (2005). Perlni o'rganish. Oksford Oksfordshir: Oksford universiteti matbuoti. ISBN  978-0-596-10105-3.Ta'riflaydi torli harflar.
  13. ^ Vatt, Endryu (2003). Sams Xmin-ni 10 daqiqada o'rgating. Oksford Oksfordshir: Oksford universiteti matbuoti. ISBN  978-0-672-32471-0. XML ishlov berish yo'riqnomasini tavsiflaydi. p. 21.
  14. ^ Kabrera, Garold (2002). Java dasturchilari uchun C #. Oksford Oksfordshir: Oksford universiteti matbuoti. ISBN  978-1-931836-54-8. Bir qatorli va ko'p qatorli sharhlarni tavsiflaydi. p. 72.
  15. ^ "Aqlli shablon hujjatlari". Olingan 2010-03-12. Masalan, Smarty andozalari tizim hujjatlari, "qochib ketuvchi shablon ajratuvchilar" ga qarang.
  16. ^ "ISO 646 uchun boshqaruv belgilar to'plami" (PDF). Xalqaro standartlashtirish tashkiloti. 1975 yil 1-dekabr.
  17. ^ "ASCII grafik belgilar to'plami" (PDF). Xalqaro standartlashtirish tashkiloti. 1975 yil 1-dekabr.
  18. ^ Lewine, Donald (1991). Posix dasturchilar uchun qo'llanma. Oksford Oksfordshir: Oksford universiteti matbuoti. ISBN  978-0-937175-73-6. Control-z-dan foydalanishni tavsiflaydi. p. 156,
  19. ^ Fridl, Jefri (2006). Muntazam iboralarni o'zlashtirish. Oksford Oksfordshir: Oksford universiteti matbuoti. ISBN  978-0-596-52812-6. ko'milgan-ajratuvchi muammolar echimlarini tavsiflash p. 472.
  20. ^ ASCII ajratilgan matn va CSV va tab chegaralangan matnlar bo'yicha munozara
  21. ^ Kahrel, Piter (2006). Oddiy iboralar bilan InDesign-ni avtomatlashtirish. O'Rayli. ISBN  0-596-52937-6.p. 11
  22. ^ Devor; Larri; Jon Orvant (2000 yil iyul). Dasturlash Perl (Uchinchi nashr). O'Rayli. p. 63. ISBN  0-596-00027-8.
  23. ^ Devor; Larri; Jon Orvant (2000 yil iyul). Dasturlash Perl (Uchinchi nashr). O'Rayli. p. 62. ISBN  0-596-00027-8.
  24. ^ Yukixiro, Matsumoto (2001). Yong'oqdagi yaqut. O'Rayli. ISBN  0-596-00214-9. Ruby-da ular quyidagicha ko'rsatilgan umumiy ajratilgan satrlar. p. 11
  25. ^ Javvin Technologies, Incorporated (2005). Tarmoq protokollari bo'yicha qo'llanma. Javvin Technologies Inc. ISBN  0-9740945-2-8. p. 26
  26. ^ 200, Cicling (2001). Hisoblash lingvistikasi va matnni oqilona qayta ishlash. Oksford Oksfordshir: Oksford universiteti matbuoti. ISBN  978-3-540-41687-6.CS1 maint: raqamli ismlar: mualliflar ro'yxati (havola) Bo'sh joyni ajratuvchilarni tavsiflaydi. p. 258.
  27. ^ Fridl, Jefri (2006). Muntazam iboralarni o'zlashtirish. Oksford Oksfordshir: Oksford universiteti matbuoti. ISBN  978-0-596-52812-6. sahifa 472.
  28. ^ Perl operatorlari va ustunligi
  29. ^ Ri, odam (2003). Internet xavfsizligi: kriptografik tamoyillar, algoritmlar va protokollar. John Wiley va Sons. ISBN  0-470-85285-2.(ASCII zirhlarini shifrlash dasturlarida ishlatishning namunasi)
  30. ^ Gross, Christian (2005). Windows ma'murlari uchun ochiq manba. Charlz River Media. ISBN  1-58450-347-5.(ASCII zirhlarini shifrlash dasturlarida ishlatishning namunasi)
  31. ^ a b Kalani, Amit (2004). Visual C # bilan veb-dasturlarni ishlab chiqish va amalga oshirish. NET va Visual Studio. NET. Que. ISBN  0-7897-2901-6.(HTML manba kodi ichida Base64 kodlash va VIEWSTATE ishlatilishini tavsiflaydi)

Tashqi havolalar