FileSystemObject - Чтение файлов Unicode

Ну, основы:

  • Создают теги, прежде чем стартовый QA на версии
  • Создаст теги перед опасными изменениями (т.е. большой осуществляет рефакторинг)
  • , Создают ответвления для выпущенных версий для замораживания кода.
  • Удостоверяются, что люди знают для обновления перед стартовой работой над частью кода и обновления еще раз прежде, чем фиксировать его.
  • SVN позволяет несколько выездов того же файла различными пользователями. Удостоверьтесь, что все разрешают любой конфликт, который может произойти.
  • Никогда не используют тот же SVN, составляют больше чем одного пользователя. Могут закончиться ужасные вещи.
11
задан AdaTheDev 11 September 2009 в 11:21
поделиться

3 ответа

Yes that documentation is out of date. The scripting component did go through a set of changes in its early days (some of them were breaking changes if you were using early binding) however since at least WK2000 SP4 and XP SP2 it has been very stable.

Just be careful what you mean by unicode. Sometimes the word unicode is used more broadly and can cover any encoding of unicode. FSO does not read for example UTF8 encodings of unicode. For that you would need to fall back on ADODB.Stream.

4
ответ дан 3 December 2019 в 06:46
поделиться

Я бы сказал, если это сработает, используйте его; -)

Я заметил, что статья MS, на которую вы ссылаетесь, взята из руководства по написанию сценариев для Windows 2000 (!). Может быть, он устарел.

0
ответ дан 3 December 2019 в 06:46
поделиться

Я думаю, что MS официально не заявляет, что поддерживает юникод, потому что:

  1. Он не обнаруживает файлы Юникода, используя отметку порядка байтов в начале файла, и
  2. Это поддерживает только файлы Unicode Little-Endian UTF-16 (и вам нужно удалить отметку порядка байтов, если она есть).

Вот пример кода, который я успешно использовал (в течение нескольких лет) для автоматического обнаружения и чтения файлы юникода с FSO (при условии, что они имеют прямой порядок байтов и содержат спецификацию):

'Detect Unicode Files
Set Stream = FSO.OpenTextFile(ScriptFolderObject.Path & "\" & FileName, 1, False)
intAsc1Chr = Asc(Stream.Read(1))
intAsc2Chr = Asc(Stream.Read(1))
Stream.Close
If intAsc1Chr = 255 And intAsc2Chr = 254 Then 
    OpenAsUnicode = True
Else
    OpenAsUnicode = False
End If

'Get script content
Set Stream = FSO.OpenTextFile(ScriptFolderObject.Path & "\" & FileName, 1, 0, OpenAsUnicode)
TextContent = Stream.ReadAll()
Stream.Close
10
ответ дан 3 December 2019 в 06:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: