Open SunSerega opened 1 year ago
Да, для китайского языка это всё не отлажено. Если скажете как - поправим
Мне кажется там кривой код который принимает текст из вывода программы. Он ещё вставляет рандомные пустые строчки время от времени.
Ну это другое. Рандомно и устойчивая ошибка - это разные вещи
А потом просто может у нас преобразователь не заточен на четырехбайтовую кодировку
Там по 3 байта на символ в UTF8, и по 2 байта в UTF16. Это не суррогатные символы.
Рандомно в смысле что для разных символов - на разных строчках. Но воспроизвести стабильно тоже не сложно:
## var s := ('a'..'z').JoinToString;
loop 920 do s.Println;
Тут перед последней строчкой вставляет пустую.
Я не помню где, но видел в коде IDE какое то очень странное преобразование байтов.
System.IO.StreamReader.Read
уже обрабатывает все крайние случаи. Поэтому прямой работы с байтами там в принципе быть не должно.
Ну может посмотрите, можно ли порефакторить этот код
На предпоследней строчке символ
ビ
съедает, и вместо его вывода - переключает цвет на крассный.Если вывести 1000 раз - в какой-то момент цвет переключается назад на чёрный.
У меня это много с чем воспоизводится, но тут уж очень стабильно поймалось. И во всех случаях цвет крассный.