Как установить кодировку, с помощью которой консольное приложение .NET читает входной файл?vb.net console readline с использованием специальной кодировки
У меня есть файл UTF16, и когда я звоню Console.ReadLine
, ясно, что кодировка не была должным образом соблюдена. Строка, исходящая от этого вызова, выглядит плохо.
Sublime Text 2 сообщает, что файлы находятся в закодированном как:
UTF-16 LE with BOM
Вот код:
pstrLine = Console.ReadLine() //bad line here
Do
pactHandler(pstrLine)
pstrLine = Console.ReadLine()
Loop Until pstrLine Is Nothing
линия возвращается, и я могу прочитать его, но это не совсем верно. Кажется, у каждого персонажа есть пробел между ними. И линия начинается с непечатаемого символа.
Когда я смотрю на входной файл выглядит так:
MY DATA IS HERE
Когда он приходит в через ReadLine
:
$M Y D A T A I S H E R E
$
представляет и нецензурный характер, который выглядит как блок.
Я предполагаю, что вы используете перенаправление ввода. Не делайте этого, вы не можете надежно обнаружить кодировку текста с этим. Фактически откройте файл с помощью StreamReader. –