UCS-2 Little Endian 到 UTF-8 的转换使文件中包含许多不需要的字符

2023-11-30

我有一个脚本,是在研究了许多不同的方法之后组合在一起的,我可以在 VBScript 中使用 ADODB 进行编码转换。

Option Explicit

Sub UTFConvert()
    Dim objFSO, objStream, file

    file = "FileToConvert.csv"

    Set objStream = CreateObject( "ADODB.Stream" )
    objStream.Open
    objStream.Type = 2
    objStream.Position = 0
    objStream.Charset = "utf-8"
    objStream.LoadFromFile file
    objStream.SaveToFile file, 2
    objStream.Close
    Set objStream = Nothing
End Sub

UTFConvert

该文件应该从 UCS-2 Little Endian 或任何可读格式(在限制范围内)转换为 UTF-8。然而问题是,一旦该文件完成转换为 UTF-8,就会有很多NUL整个文件中每个字母之前和之后的符号,以及xFF xFE(UCS-2 LE BOM) 位于文件的开头。这些都是可见的,无需使用任何符号可视化切换。如果能帮助我理解这种转换可能会受到哪些限制,我们将不胜感激。或者我可以采取的任何替代方法。


Your Stream对象正在将文件加载为 UTF-8 编码文件,从而误解了字节序列。使用读取文件FileSystemObject实例并用ADODB.Stream object:

Sub UTFConvert(filename)
  Set fso = CreateObject("Scripting.FileSystemObject")
  txt = fso.OpenTextFile(filename, 1, False, -1).ReadAll

  Set stream = CreateObject("ADODB.Stream")
  stream.Open
  stream.Type     = 2 'text
  stream.Position = 0
  stream.Charset  = "utf-8"
  stream.WriteText txt
  stream.SaveToFile filename, 2
  stream.Close
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UCS-2 Little Endian 到 UTF-8 的转换使文件中包含许多不需要的字符 的相关文章

随机推荐

  • asp.net - MVC 模型绑定到嵌套集合

    我有一堂课 public class ClientInformation public string UserName get set public ICollection
  • Spring、Hibernate、Blob 延迟加载

    我需要有关 Hibernate 中延迟 blob 加载的帮助 我的 Web 应用程序中有这些服务器和框架 MySQL Tomcat Spring 和 Hibernate 数据库配置部分
  • 集合的 Linq 等效项至少包含 x 个项目;类似于 .Any() 但改为 .AtLeast(int)

    是否有 Linq 方法来检查集合是否至少包含 x 个项目 Any 很棒 因为一旦找到一个项目 它就是真的 并且程序不需要去获取集合中可能存在的任何其他内容 有没有ContainsAtLeast 方法 或者如何实现它的行为 Any 我要求的是
  • Actionscript 到 java 源转换器

    有没有一个工具可以将actionscript3源代码转换为java源代码 我不久前遇到了这个页面 因为我也需要一个动作脚本到java转换器 我自己写了一篇 它非常简单 转换后需要手动调整 就像大多数此类转换器所做的那样 但它在自动化无聊的工
  • 让 Google Assistant 在特定状态下打开我的应用

    我正在尝试将我的 Android 应用程序与谷歌助手集成 我已经做了一些研究并浏览了一些教程 但它们只给我带来文本 卡片或音频响应 我需要的是谷歌助手根据谷歌助手的要求在特定状态下打开我的应用程序 例如 我会问谷歌助手我最喜欢的球队的下一场
  • 通过java代码插入一些数据时Sparql查询不更新

    我试图通过我的java代码将数据插入到加载到Fuseki服务器中的owl文件中 更新查询不会给出任何错误消息 但 owl 文件没有更新 我正在使用 jena 库并使用 java 代码实现 我的代码有什么问题 public boolean a
  • Python 发送带有 header 的 POST

    我尝试构建一个 python 脚本 该脚本发送带有参数的 POST 以提取结果 使用fiddler 我提取了我想要的返回的post请求 该网站仅使用 https POST Services GetFromDataBaseVersionned
  • 如何部署一个自建的Docker镜像来针对本地环境进行修改?

    快速回顾一下 docker 是一种为特定 Web 服务 运行环境 虚拟机编写代码或配置文件更改的方法 所有这些都来自 Linux 终端 文本文件的舒适范围 Docker 镜像是由 dockerfile 制作的代码层的保存点 或者可以从需要基
  • 如何在 TypeScript 中将类型声明为可为空?

    我有一个 TypeScript 界面 interface Employee id number name string salary number 我想做salary作为可为 null 的字段 就像我们在 C 中所做的那样 这可以在 Typ
  • 命令行上的 Android lint 缺少问题组(与 Android Studio 中提供的选项相比)

    当我通过 分析 gt 检查代码 在 Android Studio 中运行 lint 时 我可以从多种要查找的内容中进行选择 当我转到 lint 的命令行版本并列出所有要检查的可用内容 lint list 时 我得到的列表不包括我在 Andr
  • 如何在我的 WSGI apache 上为 Django 执行多个进程?

    我朋友说Django只有1个线程什么的 我必须编辑我的 000 default 才能添加更多进程吗 他建议 4 或 5 个 这到底是什么 我该怎么办 谢谢 我是菜鸟 Use the WSGIDaemonProcess指令将应用程序置于守护进
  • 装饰 Hex 函数以填充零

    我写了这个简单的函数 def padded hex i l given int i given len l hex result hex given int 2 remove 0x from beginning of str num hex
  • (;;) 和 while(); 有何用途? C 中的平均值 [重复]

    这个问题在这里已经有答案了 我正在查看一些示例代码 我看到有人这样做了 for 这相当于while 1 什么是while condition 做 我不明白放置背后的原因 代替 yes for 是一个无限循环
  • Pandas DataFrame:如何从自身引用行的多个子集?

    我想获得一个包含多个子集的数据框 例如 DataFrame data a 1 2 3 4 5 6 7 8 9 我想用 iloc 0 3 和 iloc 6 9 构建一个数据框 结果 DataFrame data a 1 2 3 6 7 8 目
  • C# 使用对象按值排序列表

    我正在尝试在 C 中创建对象的 有序 缓存 其中顺序由访问次数决定 我研究过 Dictionary SortedList 和 SortedDictionary 它们非常接近 但不太有我想要的东西 我想要一个包含所有以前缓存的项目的列表 这些
  • MFC 对话框控件的默认字体是什么?

    下图 放大 以便您更好地看到差异 显示了动态创建的编辑控件 上面的两个示例 和从对话框编辑器创建的编辑控件 下面的示例 之间的字体差异 如何使动态创建的 CEdit 控件的字体看起来像默认字体 下面的示例 我创建了如下 CEdit 控件 o
  • 使用 POI 的 XSSF 和 SAX(事件 API)读取 Excel 工作表

    我正在使用 POI 的 XSSF 和 SAX 事件 API 读取 Excel 工作表 Excel 工作表包含数千行用户信息 例如用户名 电子邮件 地址 年龄 部门等 我需要从 Excel 中读取每一行 将其转换为用户对象并将该用户对象添加到
  • 运行 ng build 时执行 JavaScript 文件

    我想每次运行时都在我的 Angular 应用程序中运行一个 JavaScript 文件ng build 更准确地说 我希望在构建过程之前执行此文件 以便它所做的更改出现在构建中 它是一个简单的脚本 用于读取应用程序版本及其依赖项并将它们写入
  • 无状态EJB实现接口注入失败

    野蝇8 2 0 我有一个StatelessEJB 和接口 Local Stateless public class Bean implements IBean Local public interface IBean 但我收到焊接错误 如果
  • UCS-2 Little Endian 到 UTF-8 的转换使文件中包含许多不需要的字符

    我有一个脚本 是在研究了许多不同的方法之后组合在一起的 我可以在 VBScript 中使用 ADODB 进行编码转换 Option Explicit Sub UTFConvert Dim objFSO objStream file file