PHP
Кодировка в программировании
Здравствуйте. А что такое кодировка. Просто увидел вид кодировки, при сохранении файла блокнота, там было UTF-8, ANSI и другие виды кодировок.
файл состоит из чисел (байтов) - вот кодировка - это таблица, какому символу соответствует какое число, или бывает два числа, если точности одного числа не хватает (оно от 0 до 255)
тупее всего в Юникоде - там вообще каждому символу 2 числа - файлы много весят. в других умнее, основным 1, более редким 2.
тупее всего в Юникоде - там вообще каждому символу 2 числа - файлы много весят. в других умнее, основным 1, более редким 2.
Ilham Muradov
А где можно посмотреть все виды кодировок, и их значение?
их много, cp1251 кириллица, c1252 западно-европейская. Некоторые приложения, базы данных и т. п. могут работать только с определенной кодировкой. И в каждой кодировке свое количество символов, наличие или отсутствие того или иного...
способ представления текстовых данных
в вычислительной технике любые данные, включая текст, хранятся в виде последовательностей байт
кодировка - это способ, с помощью которого определяется, какие байты из этой последовательности какому символу соответствует
кодировка не привязана к конкретному куску текста, поэтому текстовые редакторы обычно пытаются её угадать, а когда это не получается, её нужно указывать вручную
в принципе можно попробовать вскрыть любой кодировкой любые данные, включая не-текстовые, но тогда, очевидно, получится мусор - как при открывании блокнотом файла с картинкой
ansi (ascii) - кодировка фиксированной длины, каждый байт соответствует одному символу
первые 128 возможных значений байта стандартизированы, их можно посмотреть в интернете, последние 128 в стандарт ascii не входят - зато стандартизированы в различных расширениях ascii, именуемых кодовыми страницами
кодовые страницы - это, например, вышеназванные cp1251, cp1252 или cp866, которые в принципе являются самостоятельными однобайтовыми кодировками, у которых половина символов общая, а другая - различается
utf-8 - кодировка переменной длины
там механика чуть сложнее: если символ входит в первые 128 символов ascii, то он кодируется тем же одним байтом, что и в ascii, иначе пишется какой-то определённый байт из второй половины, которая не стандартизирована ascii (со старшим битом 1), а дальше пишется ещё несколько определённых байт
подробнее про то, какую структуру имеют эти байты, можно глянуть на вики
наконец, одно маленькое замечание: если работать только с символами ascii (латиница, цифры, некоторые основные символы и т. д.), то о кодировке беспокоиться незачем -- они практически любой кодировкой пишутся и читаются одинаково
в вычислительной технике любые данные, включая текст, хранятся в виде последовательностей байт
кодировка - это способ, с помощью которого определяется, какие байты из этой последовательности какому символу соответствует
кодировка не привязана к конкретному куску текста, поэтому текстовые редакторы обычно пытаются её угадать, а когда это не получается, её нужно указывать вручную
в принципе можно попробовать вскрыть любой кодировкой любые данные, включая не-текстовые, но тогда, очевидно, получится мусор - как при открывании блокнотом файла с картинкой
ansi (ascii) - кодировка фиксированной длины, каждый байт соответствует одному символу
первые 128 возможных значений байта стандартизированы, их можно посмотреть в интернете, последние 128 в стандарт ascii не входят - зато стандартизированы в различных расширениях ascii, именуемых кодовыми страницами
кодовые страницы - это, например, вышеназванные cp1251, cp1252 или cp866, которые в принципе являются самостоятельными однобайтовыми кодировками, у которых половина символов общая, а другая - различается
utf-8 - кодировка переменной длины
там механика чуть сложнее: если символ входит в первые 128 символов ascii, то он кодируется тем же одним байтом, что и в ascii, иначе пишется какой-то определённый байт из второй половины, которая не стандартизирована ascii (со старшим битом 1), а дальше пишется ещё несколько определённых байт
подробнее про то, какую структуру имеют эти байты, можно глянуть на вики
наконец, одно маленькое замечание: если работать только с символами ascii (латиница, цифры, некоторые основные символы и т. д.), то о кодировке беспокоиться незачем -- они практически любой кодировкой пишутся и читаются одинаково
Похожие вопросы
- Web- программирование. Php (JS, HTML, CSS)
- Программирование это сложно?
- Используется ли ссылки в проф программировании (PHP)
- Какой язык программирование стоит учить для разработки игр?
- Программирование и математика
- Программирование , языки программирования
- Если кодировка UTF8 восьмибитная, то почему тогда русская буква занимает два байта, а не один?
- Как перевести данный код цикла из кодировки Mysqli в PDO?
- Вопрос по программированию!!!
- Кто мне скажет с какого языка мне начать программирование - тому совсем ничего не будет! :)