Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
4 / 4 / 0
Регистрация: 13.07.2015
Сообщений: 128

Запись текста в файл в кодировке Unicode Little Endian

10.12.2015, 18:33. Показов 3409. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу записать юникодовскую строку в файл лител ендингом.
C#
1
2
3
4
5
6
7
8
9
10
FileStream sr = new FileStream("D:\\new.txt", FileMode.Open, FileAccess.Write);
BinaryReader bw = new BinaryWriter(sr, Encoding.Unicode);
 
string str = "Новый год";
bw.Write((byte)0xFF);
bw.Write((byte)0xFE);
bw.Write(str);
 
bw.Close();
sr.Close();
когда открываю файл вижу кракозябры(открываю блокнотом). открываю в WinHex вижу что он мне зачем-то биг эндингом пишет. товарищи! что делать как быть?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2015, 18:33
Ответы с готовыми решениями:

запись string в файл в определенном формате (из Unicode в ASCII. Файл записывать умею)
Здравствуйте. Можете помочь? Записать файл я умею. Но не понимаю как перевести из кодировки Unicode в ASCII. В Unicode использую...

Запись в файл в DOS кодировке
Доброго времени суток пытаюсь с помощью StreamWriter записать в текстовый фаил строчки в DOS кодировке но не как нему её правильно...

Запись в файл в нужной кодировке
Есть файл написанный на C++, в него нужно посылать команду, это я сделал.... Но!!!!!!!! Никак не могу подобрать кодировку... Поэтому все...

5
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
10.12.2015, 19:12
Цитата Сообщение от ProgSeg Посмотреть сообщение
BinaryReader bw = new BinaryWriter
Как у вас вообще это скомпилировалось?

Попробуйте так
C#
1
2
3
4
5
6
7
8
9
10
            FileStream sr = new FileStream("D:\\new.txt", FileMode.OpenOrCreate, FileAccess.Write);
            BinaryWriter bw = new BinaryWriter(sr, Encoding.Unicode);
 
            string str = "Новый год";
            bw.Write((byte)0xFF);
            bw.Write((byte)0xFE);
            bw.Write(Encoding.Unicode.GetBytes(str));
 
            bw.Close();
            sr.Close();
0
4 / 4 / 0
Регистрация: 13.07.2015
Сообщений: 128
10.12.2015, 19:43  [ТС]
Someone007, прошу прощения описался, там BinaryWriter. к концу дня мозги уже не к чёрту

Добавлено через 44 секунды
с BinaryWrite не работает
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18285 / 14208 / 5368
Регистрация: 17.03.2014
Сообщений: 28,888
Записей в блоге: 1
10.12.2015, 20:27
ProgSeg, все прекрасно работает. Например, сodepoint для Н это U+041D. В файл это записывается как 1D 04 - то есть little endian порядок. Тоже самое для остальных букв.

Также записывать лучше с помощью StreamWriter т.к. он сам запишет нужный BOM и не будет записывать длину строку, как это делает BinaryWriter
C#
1
2
3
4
5
using (FileStream fstream = new FileStream(@"D:\new.txt", FileMode.Open, FileAccess.Write))
using (StreamWriter writer = new StreamWriter(fstream, Encoding.Unicode))
{
    writer.Write("Новый год");
}
0
4 / 4 / 0
Регистрация: 13.07.2015
Сообщений: 128
10.12.2015, 21:01  [ТС]
OwenGlendower, я знаю про StreamWriter, но суть в том что я в файл буду записывать разные данные(не только строки) и BinaryReader лучше подойдёт. я исправил седьмую строчку в своём коде на
C#
1
bw.Write(str.ToCharArray());
и всё заработало. просто строку он всё равно у меня не правильно записывает
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18285 / 14208 / 5368
Регистрация: 17.03.2014
Сообщений: 28,888
Записей в блоге: 1
10.12.2015, 21:24
ProgSeg, если строка имеет фиксированную или известную длину, то это вариант. Иначе лучше записывать строку чтобы BinaryReader смог прочитать её.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.12.2015, 21:24
Помогаю со студенческими работами здесь

Запись в файл в нужной кодировке
Записывается информация с формы...а вместо нее в блокноте какая-то коракозябра....Что делать? Вот код using System; using...

Чтение и сохранение текста в файл в кодировке по умолчанию
Здравствуйте. Извиняюсь если уже было, но впервые столкнулся с такой проблемой: Дан файл .txt в стандартной кодировке (не помню в...

Сохранить текстовый документ в кодировке Unicode
Создаю блокнот вот таким образом: StreamWriter sw = new StreamWriter("test.txt"); Но по умолчанию он создаётся в кодировке ANSI, а...

BitConverter little-endian -> big-endian
Копирую в массив byte некоторые значения byte msg = new byte; Array.Copy(BitConverter.GetBytes(STX), 0, msg, 0, sizeof(int)); ...

Как Консольное-приложение в Lazarus сдружить c кодировкой Unicode или Unicode Big Endian или UTF-8
Нужно чтобы Lazarus отображал символы псевдографики желательно все, но в основном вот эти......


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru