В комп’ютерній і телекомунікаційній термінології символьний тип даних(char) це одиниця інформації, що приблизно відповідає графемі, графемі як символу в алфавіті або як складової в письмовій формі природної мови.
Прикладами символів є букви, цифри, знаки пунктуації та пробіли. Термін також включає керівні символи, які не відповідають символам в мові, але відповідають за обробку тексту в тій чи іншій мові. Як приклад, спеціальні символи, які вказують принтерам та спеціальним програмам як відобразити текст (символ переходу на новий рядок чи символ табуляції).
Символи, як правило об'єднують в рядки.
Кодування символів
Комп'ютери та засоби зв'язку представляють символи використовуючи кодування, яке змінює кожен символ зазвичай на послідовність цифр для збереження символів, чи для передачі. Наведемо два приклади такого кодування: ASCII і UTF-8 кодування від Unicode. У той час як більшість таблиць кодування перетворюють символи у числа або послідовності бітів, азбука Морзе передає символи, використовуючи серію електричних імпульсів різної довжини.
Термінологія
Історично склалося так, що термін символ широко використовувався професіоналами для позначення закодованого символу в різних мовах програмування чи API. Термін гліф використовувався для опису зовнішнього вигляду символу. У багатьох комп’ютерних шрифтах всі гліфи проіндексовані відповідно до символу, який вони позначають.
З появою і широким поширенням прийнятих в Unicode спеціальних символьних наборів, символ став частіше розглядатися як одиниця інформації. Міжнародний стандарт ISO/IEC 10646 (Unicode) визначає символ як "член набору елементів, які використовуються для організації, управління або подання даних". Визначення Unicode доповнюється пояснювальними записками, що дозволяє читачу впізнавати символи, графеми і гліфи, серед інших речей.
Наприклад, буква івриту Алеф ("א") часто використовується математиками для позначення певних видів нескінченності, але вона також використовується і в звичайному єврейському тексті. В Unicode ці два варіанти використання вважаються як два різних символи і мають два різних числові ідентифікатори, хоча вони виглядають однаково. Або ж навпаки, китайська логограма для позначення води ("水") може мати дещо інший вигляд в японських текстах, але в Unicode це вважається за один і той самий символ.
Стандарт Unicode також відрізняє абстрактні символи від закодованих чи розкодованих, які були в парі з числовими кодами, що полегшує їх подання на комп'ютерах.
Об'єднуючий символ
В Unicode також розглядаються об'єднуючі символи. Наприклад, в Unicode існує спеціальний символ трема, яка додає дві точки над символом. Це дозволяє отримати символ " ї " двома способами: задавши зразу символ "ї", або задавши його як суму двох символів (U+0069 LATIN SMALL LETTER I + U+0308 COMBINING DIAERESIS).
Обидва вважаються канонічно еквівалентними, відповідно до стандартів Unicode.
char
Char в мові програмування С, є вбудованим типом розміром в 1 байт, розмір якого визначається щоб бути достатньо великим, щоб містити будь-який символ передбачений кодуванням UTF-8. Це задає мінімальний розмір у 8 біт, а саме число бітів можна дізнатись використовуючи макрос CHAR_BIT . Зазвичай використовується 8 біт, проте стандарт POSIX вимагає щоб розмір був у 8 бітів.
Відколи Unicode почав вимагати хоча б 21 біт для зберігання одного коду, стало неможливо вмістити один символ в одному char, тоді почали використовувати кодування зі змінною довжиною UTF-8. На жаль, через факт що символ історично зберігається в 1 байті ці терміни стали фактично взаємозамінні в більшості документацій. Тому часто виникали деякі неточності коли використовувалися багатобайтові кодування, такі як UTF-8, що призвело до неефективних і неправильних реалізацій функцій обробки рядків. Сучасна POSIX документація намагається виправити це, визначаючи символ, як послідовність з одного чи більше байтів, що представляє один графічний символ або код управління, і пробує використовувати байт коли посилається на символьні дані. Однак вона визначає масив символів як масив елементів типу char.
Символи з Unicode також можна зберігати в рядках, що складаються з кодових блоків які більші за char. їх називають широкими символами в мові С це тип wchar_t. На деяких платформах цей тип визначають як 16-бітний, на інших як 32-бітний, в останніх версіях ще додали char16_t, char32_t.
В інших мовах програмування також використовується тип char. Деякі, такі як С++ використовують 8 біт як і в С, а інші мови, такі як Java, використовують 16 бітів для char, щоб використовувати кодування UTF-16.
Буквені символи
Буквений символ має особливе значення в деяких аспектах обчислень.Такі символи згідно з ASCII, як правило, означають букву алфавіту AZ (верхній або нижній регістр), цифри від 0 до 9, і підкреслення.
Якщо брати до уваги символи “$” або “|” вони не утворюють слова, а символи 'é' (з французької мови ) або "я" (з української мови) чи “ά” (з грецької), використовується наприклад в таких словах, як fédération, Αγορά або Яблуко.
Див. також
Зовнішні посилання
- Characters: A Brief Introduction by The Linux Information Project (LINFO)
- summarizes the ISO/IEC's character model, focusing on terminology definitions and differentiating between characters and glyphs
Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
V komp yuternij i telekomunikacijnij terminologiyi simvolnij tip danih char ce odinicya informaciyi sho priblizno vidpovidaye grafemi grafemi yak simvolu v alfaviti abo yak skladovoyi v pismovij formi prirodnoyi movi Prikladami simvoliv ye bukvi cifri znaki punktuaciyi ta probili Termin takozh vklyuchaye kerivni simvoli yaki ne vidpovidayut simvolam v movi ale vidpovidayut za obrobku tekstu v tij chi inshij movi Yak priklad specialni simvoli yaki vkazuyut printeram ta specialnim programam yak vidobraziti tekst simvol perehodu na novij ryadok chi simvol tabulyaciyi Simvoli yak pravilo ob yednuyut v ryadki Koduvannya simvolivKomp yuteri ta zasobi zv yazku predstavlyayut simvoli vikoristovuyuchi koduvannya yake zminyuye kozhen simvol zazvichaj na poslidovnist cifr dlya zberezhennya simvoliv chi dlya peredachi Navedemo dva prikladi takogo koduvannya ASCII i UTF 8 koduvannya vid Unicode U toj chas yak bilshist tablic koduvannya peretvoryuyut simvoli u chisla abo poslidovnosti bitiv azbuka Morze peredaye simvoli vikoristovuyuchi seriyu elektrichnih impulsiv riznoyi dovzhini TerminologiyaIstorichno sklalosya tak sho termin simvol shiroko vikoristovuvavsya profesionalami dlya poznachennya zakodovanogo simvolu v riznih movah programuvannya chi API Termin glif vikoristovuvavsya dlya opisu zovnishnogo viglyadu simvolu U bagatoh komp yuternih shriftah vsi glifi proindeksovani vidpovidno do simvolu yakij voni poznachayut Z poyavoyu i shirokim poshirennyam prijnyatih v Unicode specialnih simvolnih naboriv simvol stav chastishe rozglyadatisya yak odinicya informaciyi Mizhnarodnij standart ISO IEC 10646 Unicode viznachaye simvol yak chlen naboru elementiv yaki vikoristovuyutsya dlya organizaciyi upravlinnya abo podannya danih Viznachennya Unicode dopovnyuyetsya poyasnyuvalnimi zapiskami sho dozvolyaye chitachu vpiznavati simvoli grafemi i glifi sered inshih rechej Napriklad bukva ivritu Alef א chasto vikoristovuyetsya matematikami dlya poznachennya pevnih vidiv neskinchennosti ale vona takozh vikoristovuyetsya i v zvichajnomu yevrejskomu teksti V Unicode ci dva varianti vikoristannya vvazhayutsya yak dva riznih simvoli i mayut dva riznih chislovi identifikatori hocha voni viglyadayut odnakovo Abo zh navpaki kitajska logograma dlya poznachennya vodi 水 mozhe mati desho inshij viglyad v yaponskih tekstah ale v Unicode ce vvazhayetsya za odin i toj samij simvol Standart Unicode takozh vidriznyaye abstraktni simvoli vid zakodovanih chi rozkodovanih yaki buli v pari z chislovimi kodami sho polegshuye yih podannya na komp yuterah Ob yednuyuchij simvol V Unicode takozh rozglyadayutsya ob yednuyuchi simvoli Napriklad v Unicode isnuye specialnij simvol trema yaka dodaye dvi tochki nad simvolom Ce dozvolyaye otrimati simvol yi dvoma sposobami zadavshi zrazu simvol yi abo zadavshi jogo yak sumu dvoh simvoliv U 0069 LATIN SMALL LETTER I U 0308 COMBINING DIAERESIS Obidva vvazhayutsya kanonichno ekvivalentnimi vidpovidno do standartiv Unicode charChar v movi programuvannya S ye vbudovanim tipom rozmirom v 1 bajt rozmir yakogo viznachayetsya shob buti dostatno velikim shob mistiti bud yakij simvol peredbachenij koduvannyam UTF 8 Ce zadaye minimalnij rozmir u 8 bit a same chislo bitiv mozhna diznatis vikoristovuyuchi makros CHAR BIT Zazvichaj vikoristovuyetsya 8 bit prote standart POSIX vimagaye shob rozmir buv u 8 bitiv Vidkoli Unicode pochav vimagati hocha b 21 bit dlya zberigannya odnogo kodu stalo nemozhlivo vmistiti odin simvol v odnomu char todi pochali vikoristovuvati koduvannya zi zminnoyu dovzhinoyu UTF 8 Na zhal cherez fakt sho simvol istorichno zberigayetsya v 1 bajti ci termini stali faktichno vzayemozaminni v bilshosti dokumentacij Tomu chasto vinikali deyaki netochnosti koli vikoristovuvalisya bagatobajtovi koduvannya taki yak UTF 8 sho prizvelo do neefektivnih i nepravilnih realizacij funkcij obrobki ryadkiv Suchasna POSIX dokumentaciya namagayetsya vipraviti ce viznachayuchi simvol yak poslidovnist z odnogo chi bilshe bajtiv sho predstavlyaye odin grafichnij simvol abo kod upravlinnya i probuye vikoristovuvati bajt koli posilayetsya na simvolni dani Odnak vona viznachaye masiv simvoliv yak masiv elementiv tipu char Simvoli z Unicode takozh mozhna zberigati v ryadkah sho skladayutsya z kodovih blokiv yaki bilshi za char yih nazivayut shirokimi simvolami v movi S ce tip wchar t Na deyakih platformah cej tip viznachayut yak 16 bitnij na inshih yak 32 bitnij v ostannih versiyah she dodali char16 t char32 t V inshih movah programuvannya takozh vikoristovuyetsya tip char Deyaki taki yak S vikoristovuyut 8 bit yak i v S a inshi movi taki yak Java vikoristovuyut 16 bitiv dlya char shob vikoristovuvati koduvannya UTF 16 Bukveni simvoliBukvenij simvol maye osoblive znachennya v deyakih aspektah obchislen Taki simvoli zgidno z ASCII yak pravilo oznachayut bukvu alfavitu AZ verhnij abo nizhnij registr cifri vid 0 do 9 i pidkreslennya Yaksho brati do uvagi simvoli abo voni ne utvoryuyut slova a simvoli e z francuzkoyi movi abo ya z ukrayinskoyi movi chi a z greckoyi vikoristovuyetsya napriklad v takih slovah yak federation Agora abo Yabluko Div takozhGlif Unicode UTF 8Zovnishni posilannyaCharacters A Brief Introduction by The Linux Information Project LINFO summarizes the ISO IEC s character model focusing on terminology definitions and differentiating between characters and glyphs Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi