Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как с помощью vb.net определить, есть ли в файле csv BOM ? / 5 сообщений из 5, страница 1 из 1
06.08.2014, 11:37
    #38713866
Турист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью vb.net определить, есть ли в файле csv BOM ?
Как с помощью vb.net определить, есть ли в файле csv BOM ?
...
Рейтинг: 0 / 0
06.08.2014, 11:55
    #38713889
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью vb.net определить, есть ли в файле csv BOM ?
ТуристКак с помощью vb.net определить, есть ли в файле csv BOM ?
Считать из файла первые байты и сравнить их с EF BB BF
...
Рейтинг: 0 / 0
06.08.2014, 11:56
    #38713890
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью vb.net определить, есть ли в файле csv BOM ?
здесь почитайте, какие байты спереди используются:
https://ru.wikipedia.org/wiki/Byte_order_mark
...
Рейтинг: 0 / 0
06.08.2014, 11:57
    #38713893
Турист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью vb.net определить, есть ли в файле csv BOM ?
Всем спасибо
...
Рейтинг: 0 / 0
06.08.2014, 11:58
    #38713896
Турист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как с помощью vb.net определить, есть ли в файле csv BOM ?
Вопрос решён.
Вот такую функцию нарыл:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    Private Function is_unicode(ByVal path As String) As Boolean
        Dim enc As System.Text.Encoding = Nothing
        Dim file As System.IO.FileStream = New System.IO.FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)

        If file.CanSeek Then
            Dim bom As Byte() = New Byte(3) {} ' Get the byte-order mark, if there is one

            file.Read(bom, 0, 4)

            If (bom(0) = &HEF AndAlso bom(1) = &HBB AndAlso bom(2) = &HBF) OrElse (bom(0) = &HFF AndAlso bom(1) = &HFE) OrElse (bom(0) = &HFE AndAlso bom(1) = &HFF) OrElse (bom(0) = 0 AndAlso bom(1) = 0 AndAlso bom(2) = &HFE AndAlso bom(3) = &HFF) Then ' ucs-4
                Return True
            Else
                Return False
            End If


            ' Now reposition the file cursor back to the start of the file
            file.Seek(0, System.IO.SeekOrigin.Begin)
        Else
            Return False
        End If
    End Function
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как с помощью vb.net определить, есть ли в файле csv BOM ? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]