Profile

Nurzhanuly Madi
Nurzhanuly Madi
2019-11-19 11:53:13
BBP Part 1.2.0 – Number Systems, String Formatting Number Systems Let’s explore few different number systems that are in use today and see how with simple three rules, we can build any number system we want. For example, Base 10 (Decimal) — Represent any number using 10 digits [0–9] Base 2 (Binary) — Represent any number using 2 digits [0–1] Base 8 (Octal) — Represent any number using 8 digits [0–7] Base 16(Hexadecimal) — Represent any number using 10 digits and 6 characters [0–9, A, B, C, D, E, F] In any of the number systems mentioned above, zero is very important as a place-holding value. Take the number 1005. How do we write that number so that we know that there are no tens and hundreds in the number? We can’t write it as 15 because that’s a different number and how do we write a million (1,000,000) or a billion (1,000,000,000) without zeros? Do you realize it’s significance? First, we will see how the decimal number system is been built, and then we will use the same rules on the other number systems as well. So how do we build a number system? We all know how to write numbers up to 9, don’t we? What then? Well, it’s simple really. When you have used up all of your symbols, what you do is, you add another digit to the left and make the right digit 0. Then again go up to until you finish up all your symbols on the right side and when you hit the last symbol increase the digit on the left by 1. When you used up all the symbols on both the right and left digit, then make both of them 0 and add another 1 to the left and it goes on and on like that. If you use the above 3 rules on a decimal system, Write numbers 0–9. Once you reach 9, make rightmost digit 0 and add 1 to the left which means 10. Then on right digit, we go up until 9 and when we reach 19 we use 0 on the right digit and add 1 to the left, so we get 20. Likewise, when we reach 99, we use 0 s in both of these digits’ places and add 1 to the left which gives us 100. So you see when we have ten different symbols, when we add digits to the left side of a number, each position is going to worth 10 times more than it’s previous one. How to read numbers? Let’s take the same decimal number system. There are only two rules actually. You have a symbol to represent a quantity [0–9] Then the meaning of a digit based on its position — let’s get this clarified a bit. Let’s take one digit number ‘8’. This simply means 8, in other words, it is exactly what it says it represents. What about 24? In case of two digits, right digit says what it means, but left digit means ten times what it says. That is, 4 is 4, 2 is 20. Altogether forms 24. If we take a three digit number, rightmost digit means what it says, the middle one is ten times what it says, leftmost digit 100 times what it says. Simply if we take number 546, it means 6 + (10 * 4) + (5 * 100) = 546. Binary With binary, we have only two digits to represent a number, 0 and 1 and we are already out of symbols. So what do we do? Let’s apply the same rules that we used on the decimal system. Then we go up until we used up all our symbols on the right side.So the next number in line is 11. After ‘11’, we put 0s in both these places and add 1 to the left and we get 100. Then 101, 110, 111 then 1000 … This binary number system is based on two digits and each position is worth two times more than the previous position. Reading a binary number is almost same as reading a decimal. Right digit says what it means, next one means two times the previous one, after that 4 times etc… So 101 means 5 in decimal. These same rules apply to octal and hexadecimal number systems as well. With octal, we have only 8 digits to represent numbers so once we get to 7 the next number is 10 and in hexadecimal, we have 10 digits and 6 letters to represent numbers. In that case, when we reach 9 next number is represented in the letter ‘A’. Next one ‘B’. Likewise, we go up to letter ‘F’ and after ‘F’ comes ‘10’. Character Encoding As we have already said, a string is also a data type, but the string is more special with an encoding problem. Because computers can only process numbers, if you want to process text, you must first convert the text to a number to process. The earliest computer was designed with 8 bits as a byte, so the largest integer that a byte can represent is 255 (binary 11111111 = decimal 255). If you want to represent a larger integer, You must use more bytes. For example, the largest integer that two bytes can represent is 65535 , and the largest integer that 4 bytes can represent is 4294967295 . Since the computer was invented by the Americans, only 127 characters were encoded into the computer at the earliest, that is, uppercase and lowercase letters, numbers, and some symbols. This code table is called ASCII code. For example, the code of the uppercase letter A is 65 The code for the lowercase letter z is 122 . What you can think of is that there are hundreds of languages ​​in the world, Japan has compiled Japanese into Shift_JIS , and South Korea has compiled Korean into Euc-kr . Countries have national standards, and conflicts will inevitably occur. As a result, In multi-language mixed text, there will be garbled characters. “Encoding is such a bic*, better to be away” __ Thomas Elid. Therefore, Unicode came into being. Unicode unifies all languages ​​into a single set of code so that there are no more garbled problems. The Unicode standard is also evolving, but the most common is to represent one character in two bytes (if you want to use very remote characters, you need 4 bytes). Modern operating systems and most programming languages ​​directly support Unicode. Now, the difference between ASCII encoding and Unicode encoding: ASCII encoding is 1 byte, and Unicode encoding is usually 2 bytes. Therefore, Unicode came into being. Unicode unifies all languages ​​into a single set of code so that there are no more garbled problems. The Unicode standard is also evolving, but the most common is to represent one character in two bytes (if you want to use very remote characters, you need 4 bytes). Modern operating systems and most programming languages ​​directly support Unicode. Now, the difference between ASCII encoding and Unicode encoding: ASCII encoding is 1 byte, and Unicode encoding is usually 2 bytes. The letter A is encoded in ASCII with a decimal of 65 and a binary of 01000001 ; Character 0 is encoded in ASCII with 48 in decimal and 00110000 binary. Note that the character '0' and the integer 0 are different. You can guess that if you use Unicode encoding A in ASCII encoding, you only need to add 0 in front. Therefore, the Unicode encoding of A is 00000000 01000001 . The new problem has emerged: if unified into Unicode encoding, the garbled problem has since disappeared. However, if the text you write is basically all in English, using Unicode encoding requires twice as much storage space as ASCII encoding, which is not cost effective in storage and transmission. Therefore, in the spirit of saving, there has been a UTF-8 encoding that converts Unicode encoding into “variable length encoding.” UTF-8 encoding encodes a Unicode character into 1-6 bytes according to different digital sizes. Commonly used English letters are encoded into 1 byte. Chinese characters are usually 3 bytes. Only very uncommon characters will be encoded. Encoded into 4-6 bytes. If the text you want to transfer contains a large amount of English characters, you can save space with UTF-8 encoding: From the above table, we can also find that UTF-8 encoding has an additional advantage, that is, ASCII encoding can actually be regarded as part of UTF-8 encoding, so a large number of historical legacy software that only supports ASCII encoding can be used in UTF- Continue working under 8 codes. To figure out the relationship between ASCII, Unicode and UTF-8, we can summarize the working methods of character encoding that are common in computer systems: In computer memory, Unicode encoding is used uniformly, and when it needs to be saved to the hard disk or needs to be transferred, it is converted to UTF-8 encoding. In the next post , we will concentrate on another problem – Python string encoding and decoding, [email protected]! BBP Часть 1.2.0-системы счисления, форматирование строк Cистема счисления Давайте рассмотрим несколько различных систем счисления, которые используются сегодня, и посмотрим, как с помощью простых трех правил мы можем построить любую систему счисления, которую мы хотим. Например, Основание 10 (десятичное) - представляет любое число, используя 10 цифр [0-9] Основание 2 (двоичное) - представляет любое число, используя 2 цифры [0-1] Основание 8 (восьмеричное) - представляет любое число, используя 8 цифр [0-7] Основание 16 (шестнадцатеричное) - представляет любое число, используя 10 цифр и 6 символов [0-9, A, B, C, D, E, F] В любой из систем счисления, упомянутых выше, ноль очень важен как значение удержания места. Возьмите число 1005. Как написать это число, чтобы мы знали, что в нем нет десятков и сотен? Мы не можем записать его как 15, потому что это другое число, и как мы пишем миллион (1,000,000) или миллиард (1,000,000,000) без нулей? Ты понимаешь, что это важно? Сначала мы увидим, как была построена десятичная система счисления, а затем мы будем использовать те же правила и для других систем счисления. Так как же нам построить систему счисления? Мы все знаем, как писать числа до 9, не так ли? А что потом? Ну, это действительно просто. Когда вы израсходовали все свои символы, вы делаете следующее, вы добавляете еще одну цифру слева и делаете правую цифру 0. Затем снова поднимитесь до тех пор, пока вы не закончите все свои символы на правой стороне, и когда вы нажмете последний символ, увеличьте цифру слева на 1. Когда вы израсходовали все символы как на правой, так и на левой цифре, затем сделайте оба из них 0 и добавьте еще один 1 слева, и это будет продолжаться и продолжаться. Если вы используете вышеуказанные 3 правила в десятичной системе счисления, Напишите цифры 0-9. Как только вы достигнете 9, сделайте самую правую цифру 0 и добавьте 1 слева, что означает 10. Затем на правой цифре мы поднимаемся до 9, а когда мы достигаем 19, мы используем 0 на правой цифре и добавляем 1 к левой, поэтому мы получаем 20. Аналогично, когда мы достигаем 99, мы используем 0 s в обоих местах этих цифр и добавляем 1 слева, что дает нам 100. Итак, вы видите, когда у нас есть десять различных символов, когда мы добавляем цифры в левую часть числа, каждая позиция будет стоить в 10 раз больше, чем предыдущая Как читать цифры? Возьмем ту же десятичную систему счисления. На самом деле есть только два правила. У вас есть символ для представления количества [0-9] Тогда значение цифры зависит от ее положения-давайте немного проясним это. Возьмем однозначное число '8'. Это просто означает 8, другими словами, это именно то, что он говорит, что он представляет. А как насчет 24? В случае двух цифр, правая цифра говорит, что это значит, но левая цифра означает в десять раз больше, чем она говорит. То есть 4 - это 4, 2-это 20. Всего форм 24. Если мы возьмем трехзначное число, самая правая цифра означает то, что она говорит, средняя-в десять раз больше, чем она говорит, самая левая цифра-в 100 раз больше, чем она говорит. Просто если мы возьмем число 546, это означает 6 + (10 * 4) + (5 * 100) = 546. Двоичный С двоичным кодом у нас есть только две цифры для представления числа, 0 и 1, и у нас уже нет символов. Так что же нам делать? Давайте применим те же правила, которые мы использовали для десятичной системы счисления. Затем мы идем вверх, пока не израсходуем все наши символы справа side.So следующий номер в строке-11. После ‘11’ мы ставим 0 в обоих этих местах и добавляем 1 слева, и мы получаем 100. Потом 101, 110, 111, потом 1000 … Эта двоичная система счисления основана на двух цифрах, и каждая позиция стоит в два раза больше, чем предыдущая позиция. Чтение двоичного числа-это почти то же самое, что чтение десятичного. Правая цифра говорит, что это значит, следующий означает два раза предыдущий, после этого 4 раза и т. д… Так что 101-это 5 в десятичной. Эти же правила применимы и к восьмеричным и шестнадцатеричным системам счисления. С восьмеричным числом у нас есть только 8 цифр для представления чисел, поэтому, как только мы доберемся до 7, следующее число будет 10, а в шестнадцатеричном виде у нас есть 10 цифр и 6 букв для представления чисел. В том случае, когда мы достигнем 9, следующее число будет представлено в виде буквы "А". Следующая буква "Б". Аналогичным образом, поднимаемся на букву ‘F’ и после ‘Ф’ приходит ‘10’. кодировка символов Как мы уже говорили, строка также является типом данных, но строка является более Специальной с проблемой кодирования. Поскольку компьютеры могут обрабатывать только числа, если вы хотите обработать текст, вы должны сначала преобразовать текст в число для обработки. Самый ранний компьютер был спроектирован с 8 битами в качестве байта, поэтому самое большое целое число, которое может представлять байт, - это 255 (двоичный 11111111 = десятичный 255). Если вы хотите представить большее целое число, вы должны использовать больше байтов. Например, самое большое целое число, которое могут представлять два байта, - 65535, а самое большое целое число, которое могут представлять 4 байта, - 4294967295 . С тех пор как компьютер был изобретен американцами, в нем было закодировано всего 127 символов, то есть прописные и строчные буквы, цифры и некоторые символы. Эта таблица кодов называется кодом ASCII. Например, код прописной буквы A равен 65, код строчной буквы z равен 122 . Вы можете думать о том, что в мире есть сотни языков, Япония скомпилировала Японский в Shift_JIS, а Южная Корея скомпилировала Корейский в Euc-kr . Страны имеют национальные стандарты, и конфликты неизбежно будут возникать. В результате в многоязычном смешанном тексте будут искажены символы. "Кодирование-это такой bic*, лучше быть подальше" _ _ Томас Эли. Таким образом, Unicode появился на свет. Unicode объединяет все языки в единый набор кода, чтобы не было больше искаженных проблем. Стандарт Unicode также развивается, но наиболее распространенным является представление одного символа в двух байтах (если вы хотите использовать очень удаленные символы, вам нужно 4 байта). Современные операционные системы и большинство языков программирования напрямую поддерживают Unicode. Теперь разница между кодировкой ASCII и кодировкой Unicode: кодировка ASCII составляет 1 байт, а кодировка Unicode обычно составляет 2 байта. Таким образом, Unicode появился на свет. Unicode объединяет все языки в единый набор кода, чтобы не было больше искаженных проблем. Стандарт Unicode также развивается, но наиболее распространенным является представление одного символа в двух байтах (если вы хотите использовать очень удаленные символы, вам нужно 4 байта). Современные операционные системы и большинство языков программирования напрямую поддерживают Unicode. Теперь разница между кодировкой ASCII и кодировкой Unicode: кодировка ASCII составляет 1 байт, а кодировка Unicode обычно составляет 2 байта. Буква A кодируется в ASCII с десятичной дробью 65 и двоичным кодом 01000001 ; Символ 0 кодируется в ASCII с 48 в десятичном и 00110000 двоичном формате. Обратите внимание, что символ '0' и целое число 0 различны. Вы можете догадаться, что если вы используете кодировку Unicode a в кодировке ASCII, вам нужно только добавить 0 спереди. Таким образом, кодировка Unicode является 01000001 00000000 . Возникла новая проблема: если объединено в кодировку Unicode, искаженная проблема с тех пор исчезла. Однако, если текст, который вы пишете, в основном написан на английском языке, использование кодировки Unicode требует вдвое больше места для хранения, чем кодировка ASCII, что не является экономически эффективным при хранении и передаче. Поэтому в духе экономии существует кодировка UTF-8, которая преобразует кодировку Unicode в "кодировку переменной длины"."Кодировка UTF-8 кодирует символ Юникода в 1-6 байт в соответствии с различными цифровыми размерами. Обычно используемые английские буквы кодируются в 1 байт. Китайские иероглифы обычно составляют 3 байта. Только очень необычные символы будут закодированы. Кодируется в 4-6 байт. Если текст, который вы хотите передать, содержит большое количество английских символов, вы можете сэкономить место с помощью кодировки UTF-8: символ ASCII Unicode UTF-8 А 01000001 00000000 01000001 01000001 中 x 01001110 00101101 11100100 10111000 10101101 Из приведенной выше таблицы мы также можем обнаружить, что кодировка UTF-8 имеет дополнительное преимущество, то есть кодировка ASCII фактически может рассматриваться как часть кодировки UTF-8, поэтому в UTF - 8 может использоваться большое количество устаревших программ, которые поддерживают только кодировку ASCII. Чтобы выяснить отношения между ASCII, Unicode и UTF-8, мы можем суммировать рабочие методы кодирования символов, которые распространены в компьютерных системах: В памяти компьютера кодировка Unicode используется равномерно, и когда она должна быть сохранена на жестком диске или должна быть передана, она преобразуется в кодировку UTF-8. В следующем посте мы сосредоточимся на другой проблеме-кодировании и декодировании строк Python, наслаждайтесь@! BBP Part 1.2.0 нөмірлі жүйе, жолды форматтау Сандар жүйесі Бүгінгі күні қолданылатын бірнеше әртүрлі сандық жүйелерді қарастырайық және қарапайым үш ережені қолдана отырып, өзіміз қалаған кез-келген сандық жүйені қалай құруға болатынын көрейік. Мысалы 10-база (ондық бөлшек) - 10 саннан тұратын кез келген санды білдіреді [0-9] 2-негіз (екілік) - 2 санды қолданатын кез келген санды білдіреді [0-1] 8-негіз (сегіздік) - 8 саннан тұратын кез-келген санды білдіреді [0-7] 16-база (он алтылық) - 10 саннан және 6 таңбадан тұратын кез келген санды білдіреді [0-9, A, B, C, D, E, F]. Жоғарыда аталған сандық жүйелердің кез-келгенінде нөл өте маңызды, өйткені орындықты сақтау мәні. 100 санын алыңыз. Онда жүздегендер болмайтынын білу үшін бұл санды қалай жазуға болады? Біз оны 15 деп жаза алмаймыз, өйткені бұл басқа сан, және біз нөл (миллион) немесе миллиард (1 000 000 000) нөлдерсіз қалай жазамыз? Сіз бұл маңызды екенін түсінесіз бе? Алдымен біз ондық сандық жүйенің қалай құрылғанын көреміз, содан кейін басқа сандық жүйелер үшін бірдей ережелерді қолданамыз. Сонымен біз сандық жүйені қалай құрамыз? 9-ға дейінгі сандарды қалай жазуды бәріміз білеміз, иә? Сонда не? Ал, бұл өте оңай. Сіз өзіңіздің барлық символдарыңызды қолданғаннан кейін келесі әрекеттерді орындайсыз: сол жаққа тағы бір сан қосып, оң санды 0 жасайсыз. Одан кейін барлық таңбаларыңызды оң жақта аяқтағанша қайтадан көтеріліп, соңғы таңбаны басқан кезде сол жақтағы сандарды 1-ге көбейтіңіз. Оң және сол сандардағы барлық таңбаларды қолданғаннан кейін, олардың екеуін де 0 етіп жасаңыз да, сол жақта тағы біреуін қосыңыз, сонда ол жалғасады. Егер сіз жоғарыда аталған 3 ережені ондық белгілеуде қолдансаңыз, 0-9 сандарын жаз. 9-ға жеткенде, 0-дің оң жағына цифр қойып, солға 1 санын қосыңыз, бұл 10 дегенді білдіреді. Содан кейін оң саннан біз 9-ға жетеміз, ал 19-ға жеткенде, оң саннан 0-ді пайдаланып, солға 1-ді қосамыз, осылайша 20-ны аламыз. Сол сияқты, 99-ға жеткенде, біз осы сандардың екі жерінде де 0 с-ті қолданамыз және сол жаққа 1 санын қосамыз, бұл бізге 100-ді береді. Көрдіңіз бе, бізде он түрлі таңба болған кезде, санның сол жағына сандарды қосқанда, әр позиция алдыңғыға қарағанда 10 есе қымбат тұрады. Сандарды қалай оқуға болады? Бірдей ондық сандар жүйесін қабылдаңыз. Шындығында, екі ереже бар. Сізде санды білдіретін таңба бар [0-9] Сонда санның мағынасы оның орнына байланысты - мұны біраз түсіндіріп алайық. '8' бір цифрын алыңыз. Бұл жай 8 дегенді білдіреді, басқаша айтқанда, ол дәл сол туралы айтады. 24 ше? Екі сан болған жағдайда оң сан нені білдіреді, ал сол сан айтылғаннан он есе көп. Яғни, 4 - 4, 2 - 20. Барлығы 24 форма бар. Егер біз үш таңбалы санды алсақ, онда ең оң жақ сан оның айтқанын білдіреді, орташа оның айтқанынан он есе үлкен, сол жақ сан ол айтқанынан 100 есе үлкен. 546 санын алсақ, бұл 6 + (10 * 4) + (5 * 100) = 546 дегенді білдіреді. Екілік Екілік жүйеде біз 0 мен 1 санын білдіретін екі цифр бар, енді бізде таңбалар болмайды. Сонымен не істейміз? Ондықтар жүйесі үшін қолданған ережелерімізді қолданайық. Содан кейін біз барлық таңбаларымызды оң жағында қолданғанша жүреміз. Сонымен қатардағы келесі нөмір - 11. «11» -ден кейін біз осы екі орынға да 0 қойып, сол жақта 1-ге қосамыз, ал 100-ге жетеміз. Содан кейін 101, 110, 111, содан кейін 1000 ... Бұл екілік сандар жүйесі екі санға негізделген және әр позиция алдыңғы позициядан екі есе көп тұрады. Екілік санды оқу ондық бөлімді оқумен бірдей. Оң сан нені білдіреді, келесі сан алдыңғы саннан екі есе, содан кейін 4 рет т.б. Сонымен 101 ондықтың 5-ке тең. Дәл осындай ережелер сегіздік және оналтылық белгілерге қолданылады. Сегіз санмен бізде цифрларды білдіретін 8 цифр бар, сондықтан 7-ге жеткенде келесі сан 10 болады, ал он алтылықта 10 цифр және цифрларды білдіретін 6 әріп болады. 9-ға жеткен жағдайда келесі нөмір «А» әрпі түрінде ұсынылады. Келесі әріп - «В». Сол сияқты, біз 'F' әрпіне көшеміз және 'F' '10' болғаннан кейін. таңбаны кодтау Жоғарыда айтқанымыздай, жол - бұл мәліметтер типі, бірақ жол кодтау мәселесімен ерекше. Компьютерлер тек сандарды өңдей алатындықтан, мәтінді өңдегіңіз келсе, алдымен мәтінді өңдеуге арналған санға түрлендіруіңіз керек. Ең алғашқы компьютер 8 биттен тұратын байт түрінде жасалған, сондықтан ең үлкен бүтін сан - 255 (екілік 11111111 = ондықтар 255). Егер үлкенірек бүтін санды көрсеткіңіз келсе, байтты көбірек пайдалану керек. Мысалы, екі байт ұсынатын ең үлкен бүтін сан - 65535, ал төрт байт ұсынатын ең үлкен бүтін сан - 4294967295. Компьютерді американдықтар ойлап тапқандықтан, онда тек 127 таңба, яғни үлкен және кіші әріптер, сандар және кейбір таңбалар кодталған. Бұл кодтар кестесі ASCII коды деп аталады. Мысалы, бас әріптің коды - 65, кіші әріптің коды - 122. Сіз әлемдегі жүздеген тілдер туралы ойлана аласыз, Жапония Shift_JIS тілінде жапон тілінде, Оңтүстік Корея Кореяда Евк-крде құрастырған. Елдер ұлттық стандарттарға ие, сондықтан даулар сөзсіз пайда болады. Нәтижесінде таңбалар көп тілді аралас мәтінде бұрмалануы мүмкін. «Кодтау - бұл өте жақсы *, алыс болған жақсы» _ _ Томас Эли. Осылайша, Юникод дүниеге келді. Юникод барлық тілдерді бірыңғай код жиынтығына біріктіреді, сондықтан бұрмаланған проблемалар болмауы керек. Юникод стандарты да дамуда, бірақ ең көп таралғаны - бір таңбаның екі байтта бейнеленуі (егер сіз өте қашықтағы таңбаларды пайдаланғыңыз келсе, сізге 4 байт қажет). Қазіргі операциялық жүйелер және көптеген бағдарламалау тілдері Юникодты тікелей қолдайды. Енді ASCII кодтау мен Юникод кодтауының арасындағы айырмашылық: ASCII кодтау - 1 байт, ал Юникодты кодтау - әдетте 2 байт. Осылайша, Юникод дүниеге келді. Юникод барлық тілдерді бірыңғай код жиынтығына біріктіреді, сондықтан бұрмаланған проблемалар болмауы керек. Юникод стандарты да дамуда, бірақ ең көп таралғаны - бір таңбаның екі байтта бейнеленуі (егер сіз өте қашықтағы таңбаларды пайдаланғыңыз келсе, сізге 4 байт қажет). Қазіргі операциялық жүйелер және көптеген бағдарламалау тілдері Юникодты тікелей қолдайды. Енді ASCII кодтау мен Юникод кодтауының арасындағы айырмашылық: ASCII кодтау - 1 байт, ал Юникодты кодтау - әдетте 2 байт. А әрпі ASCII-де 65 ондығымен және 01000001 нөмірінің екілік кодымен кодталған; 0-таңба ASCII-мен 48 ондық және 00110000 екілік кодталған. «0» таңбасы мен 0 бүтін санының әр түрлі екенін ескеріңіз. Егер сіз A Юникодты ASCII кодтауда қолдансаңыз, оның алдында тек 0 санын қосу керек деп болжай аласыз. Сондықтан Юникодты кодтау 01000001 00000000. Жаңа мәселе пайда болды: егер Юникод кодтауымен біріктірілсе, бұрмаланған мәселе содан бері жоғалып кетті. Алайда, егер сіз жазған мәтін негізінен ағылшын тілінде жазылса, Юникодты пайдалану ASCII-ге қарағанда екі есе көп сақтау орнын қажет етеді, бұл сақтау мен беру үшін үнемді емес. Сондықтан, экономика рухында Юникодты «өзгермелі ұзындыққа» айналдыратын UTF-8 шифрі бар. «UTF-8 шифрлау әртүрлі сандық өлшемдерге сәйкес 1-6 байтқа Юникод таңбасын кодтайды.Қазақ тілінде жиі қолданылатын ағылшын әріптері 1 байтпен кодталады. Әдетте қытай таңбалары 3 байттан тұрады, тек ерекше таңбалар кодталады, 4-6 байтпен кодталады, егер сіз жібергіңіз келетін мәтінде көптеген ағылшын таңбалары болса, UTF-8 шифрлау арқылы кеңістікті үнемдеуге болады: ASCII Юникод таңбасы UTF-8 A 01000001 00000000 01000001 01000001 中 x 01001110 00101101 11100100 10111000 10101101 Жоғарыда келтірілген кестеден UTF-8 шифрлаудың қосымша артықшылығы бар екенін байқаймыз, яғни ASCII кодтауды UTF-8 кодтау бөлігі ретінде қарастыруға болады, сондықтан UTF-8-де тек ASCII кодтауды қолдайтын ескірген бағдарламаларды қолдануға болады. ASCII, Unicode және UTF-8 арасындағы байланысты білу үшін компьютерлік жүйелерде жиі кездесетін жұмыс таңбаларын кодтау әдістерін жинақтай аламыз: Юникодты кодтау компьютердің жадында біркелкі қолданылады және оны қатты дискіде сақтау немесе беру керек болған кезде UTF-8 кодтауға ауыстырылады. Келесі жазбада біз Python жолдарын кодтау мен декодтаудың басқа мәселелеріне назар аударамыз, @ ләззат алыңыз!
Please sign up or sign in to like or write comments on this post.
Comments Favorite

Follow Us

© 2019 AzatAI All Rights Reserved