правильная кодировка внутри файла

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Jan2000
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 16.01.2009 (Пт) 22:43

правильная кодировка внутри файла

Сообщение Jan2000 » 16.01.2009 (Пт) 23:00

имеем файл .dat внутри с путями директорий на анг и русском
считываю как
Код: Выделить всё
Dim FileBytes() As Byte
FileBytes = My.Computer.FileSystem.ReadAllBytes(filepath)

соответственно получаю массив байт
Дальше хочу преобразовать полученный путь в байтах в string переменную
Код: Выделить всё
' в цикле пробегаюсь по массиву
Dim StringLetter A s String
StringLetter = Chr(FileBytes(i)))

так вот латинские буквы правильно отображаются, а русские нет
то как выглядит путь внутри файла, если открыть его как .TXT файл E:\ РЎСѓРЅРґСѓРє
"РЎСѓРЅРґСѓРє по нормальному - это "Сундук
Вопрос: как правильно получить русские буквы в Стринговой переменной из вышеуказанного пути?

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: правильная кодировка внутри файла

Сообщение Nord777 » 16.01.2009 (Пт) 23:50

Код: Выделить всё
My.Computer.FileSystem.ReadAllText(filepath, System.Text.Encoding.Default)
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Jan2000
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 16.01.2009 (Пт) 22:43

Re: правильная кодировка внутри файла

Сообщение Jan2000 » 17.01.2009 (Сб) 0:45

Спасибо! Подошел UTF-8

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: правильная кодировка внутри файла

Сообщение Williams » 17.01.2009 (Сб) 3:10

Или System.Text.Encoding.UTF8.GetString(bytes).

Или Dim mReader As New StreamReader("C:\file.txt", True) - автоопределение кодировки

...или Dim mReader As New StreamReader("C:\file.txt", System.Text.Encoding.UTF8) указывая кодировку вручную.
И вы думаете, что вас оставят в живых после прочтения этого поста?

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: правильная кодировка внутри файла

Сообщение Joo » 17.01.2009 (Сб) 11:14

Williams писал(а):Или System.Text.Encoding.UTF8.GetString(bytes).

Или Dim mReader As New StreamReader("C:\file.txt", True) - автоопределение кодировки

...или Dim mReader As New StreamReader("C:\file.txt", System.Text.Encoding.UTF8) указывая кодировку вручную.


Автоопределение всегда возвращает UTF8Encoding )) Мы чтобы организовать автоопределение, целую библу писали для Bred.Net
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28

    TopList