Size: a a a

1С, БСП, DevOps и Архитектура

2021 November 27

A

Andrei in 1С, БСП, DevOps и Архитектура
Пошел читать, спасибо
источник

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
Вы - не меняете. Но они - меняются? Это же можно проверить? На примере одного символа.
источник

КЧ

Кирилл Черненко... in 1С, БСП, DevOps и Архитектура
Не изменение кодов символов, а изменение алфавита по которому подбирается символ по коду
источник

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
Т.е. у кода 1000 может быть разное представление в разных кодировках. У символа Х может быть много кодов в разных кодировках.
И никакой связующей информации между ними нет?
источник

КЧ

Кирилл Черненко... in 1С, БСП, DevOps и Архитектура
Добро пожаловать в строковый ад
источник

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
Когда 1с получает код символа - она в какой кодировке его вычисляет? Всегда в разной (для каждой строки своя) или в системной/utf?
источник

КЧ

Кирилл Черненко... in 1С, БСП, DevOps и Архитектура
Юникод, это в доке написано
источник

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
Т.е. по идее мак отправил символ 1000, а у меня это окажется 2000. Так? Потому что я получаю код символа в другой кодировке.
Диапазоны латиницы и кириллицы в моей кодировке - известны. Все левые символы - проблема. Высокий процент таких символов - большая проблема и сигнал о возможной необходимости перекодировки
источник

‌‌‎infactum in 1С, БСП, DevOps и Архитектура
источник

КЧ

Кирилл Черненко... in 1С, БСП, DevOps и Архитектура
Нет, он отправил тыщу, и у тебя это тыща, просто в его алфавите это буква А а у тебя хрен знает что
источник

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
О кодовых страницах понимание есть.
Но я не в курсе был, что в 1с переменая А может содержать символ 1000 и переменная Б будет содержать символ 1000, но выглядеть они будут по разному. Тогда вопрос, они равны между собой или нет?
источник

КЧ

Кирилл Черненко... in 1С, БСП, DevOps и Архитектура
Понятия не имею, надеюсь нет.)
источник

NG

Nikita Gryzlov in 1С, БСП, DevOps и Архитектура
такого не может быть
источник

NG

Nikita Gryzlov in 1С, БСП, DevOps и Архитектура
строки хранятся в utf-16 (не помню, в BE или в LE)
источник

‌‌‎infactum in 1С, БСП, DevOps и Архитектура
источник

B

Banof in 1С, БСП, DevOps и Архитектура
🔫 @KeiraM09 кикнут — вернуть этого пользователя можно только разбаном в настройках чата.

Проголосовавшие за кик:
@infactum, @sfaqer, @rusdaurov, @dxxWARLOCKxxb, @otymko
При поддержке Золота Бородача
источник

NG

Nikita Gryzlov in 1С, БСП, DevOps и Архитектура
есть у тебя файл в кодировке 1. в нем лежит символ 1000. если прочесть этот символ в кодировке 1 будет буква "а".
если ты прочитаешь этот файл в нужной кодировке, то в строку положится буква "а".
если прочитаешь файл в какой-то другой кодировке, то в строку ляжет какой-то рандомный символ (как у тебя на скрине). и они не будут равны, т.к. по UTF-16 у них разные коды символов.

при этом важно понимать, что физически в строке у тебя символ лежит не в той кодировке, в которой ты его прочел. в обоих случаях происходит конвертация в UTF-16
источник

‌‌‎infactum in 1С, БСП, DevOps и Архитектура
в файлах вообще никакие символы не лежат 😊
источник

NG

Nikita Gryzlov in 1С, БСП, DevOps и Архитектура
"перекодирование" работает по принципу таблиц соответствия между символами и кодами символов в разных кодировках. когда ты читаешь букву "м" в 1251 (код символа 236), в памяти она сохраняется как код символа 1084 (юникод)
источник

NG

Nikita Gryzlov in 1С, БСП, DevOps и Архитектура
ну да, конечно я про код)
источник