Office Open XML 中转义字符格式 _xHHHH_ 的有用用例?

2023-12-07

Office Open XML 中的默认编码是UTF-8。所以Unicode已经成为可能。尽管如此,微软还是定义了:ECMA-376 第 1 部分 22.4 变体类型 22.4.2.4 bstr(基本字符串):

22.4.2.4 bstr(基本字符串)

该元素定义了一个二进制基本字符串变体类型,它可以存储任何有效的 Unicode 字符。无法在 XML 中直接表示为的 Unicode 字符 由 XML 1.0 规范定义,应使用转义 Unicode 数字字符表示转义字符格式_xHHHH_,其中 H 表示字符值中的十六进制字符。 [示例:XML 中不允许使用 Unicode 字符 8 1.0 文档,因此应转义为_x0008_。结束示例] 要存储转义序列的文字形式,初始下划线应 本身被转义(即存储为_x005F_)。 [示例:字符串 文字_x0008_将被存储为_x005F_x0008_。结束示例]

这 该元素的可能值由 W3C XML 架构定义 字符串数据类型。

这扩展了 W3C XML Schema 字符串数据类型。这样字符序列_xHHHH_作为一种实体确实有特殊的含义&#xHHHH;。这意味着每个需要解析 Office Open XML 的人(*.xlsx, *.docx, *.pptx)在解析时必须牢记这一点。例如,如果你把"Text _x1234_ text"进入一个Excel细胞,那么Excel是否将其存储为"Text _x005F_x1234_ text"在 XML 中。因此,存储在文件中的字符串与输入的字符串不同,也与输入的字符串不同。Excel将显示在单元格中。例如,如果你把"Text _x1234_ text"作为字符串单元格内容写入 XML,然后Excel将显示"Text ሴ text"进入细胞。

See: Apache POI 中的 XSSFCell 将某些字符序列编码为 un​​icode 字符

我很清楚,XML 1.0 确实有一些无法直接在 XML 中表示的字符。但这是控制字符,XML 的其他用户无需此类扩展即可满足这些限制。如果需要包含控制字符的内容,他们会使用其他正确定义的编码(例如 Base64)。

所以我总是不寻找一些有用的用例_xHHHH_在一个字符串内。

问题:

  1. 有人可以告诉我为什么这个特殊的 Unicode 数字字符表示转义字符格式_xHHHH_在 Office 中 Open XML 是否有必要?

  2. 有人可以为此提供任何有用的用例吗_xHHHH_在字符串内?


作为一个用例,我们的所有数据库都是隔离的,我们需要在不同的数据库上测试一些作业/crons/web服务,现在我们需要在Excel中导出一些数据并作为另一个数据库的输入文件提供给作业检查它是否按预期工作。由于某些权限限制,我们的架构需要这样做。

希望这对您有用:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Office Open XML 中转义字符格式 _xHHHH_ 的有用用例? 的相关文章

随机推荐

  • 连接到 iBeacon

    我可以使用以下命令扫描 iBeacons func locationManager manager CLLocationManager didRangeBeacons beacons AnyObject inRegion region CL
  • vbscript将word doc转换为pdf

    我编写了一个简短的 vb 脚本 用于打开 Word 文档 编辑一些书签并保存到新的 doc 文件 我现在需要将其转换为 pdf 文件 这足够简单 可以使用 CutePDF 之类的文件 通过将其发送到虚拟打印机 但我想自动化该步骤 任何人都可
  • Ubuntu 上的固件 Orion 上下文代理

    我愿意使用 FiWare Cloud 中的映像在 Ubuntu 12 04 服务器上安装 Orion 上下文代理独立实例 看起来 orion contextBroker 主要支持 CentOS 它要么是 rpm 包 要么是 yum 存储库
  • 使用 R 中的 glmmTMB 预测人口级别的栅格堆栈

    我正在尝试使用适合的 GLMM 来预测 R 中的栅格堆栈glmmTMB包 在人口水平 即将随机效应设置为 0 我遵循了 Ben Bolker 的解决方案这个线程适用于适合的模型lme4 但即使函数参数re form 0似乎适用于predic
  • 我可以合并 groupby 数据吗?

    我有主场和客场两栏 因此 一排将是英格兰对阵巴西 下一排将是巴西英格兰 如何计算一次巴西对阵英格兰或英格兰对阵巴西的次数 根据以前的解决方案 我尝试过 results groupby home team away team size res
  • 在 haskell 的新函数中使用过滤列表

    所以我不太确定如何正确表达这一点 但是假设我想获得列表中所有奇数的总和 我是否有两个函数 sumList 和 getOddNumbers 并将它们组合到 sumOddList 中 或者有没有办法将这两个放在一个函数中 如果没有更好的函数 我
  • C++ 类前向声明

    当我尝试编译这段代码时 我得到 52 C Dev Cpp Projektyyy strategy Tiles h invalid use of undefined type struct tile tree apple 46 C Dev C
  • 为什么 Pandas 中的多重处理比简单计算慢?

    这与如何在 Pandas 中使用 apply 并行化许多 模糊 字符串比较 再次考虑这个简单 但有趣 的例子 import dask dataframe as dd import dask multiprocessing import da
  • 在 R 中使用 try 捕获导入文件时出现的错误

    我在 R 中有一个流程 其中我正在 R 中导入许多文件 有时某些文件会出现问题 例如我正在读取的文件中不存在 EOF 字符 因此 read table 语句会出错 由于有很多文件需要处理 这很难手动管理 所以我想使用一些错误捕获来改变问题的
  • 如何将结果列拆分为多列

    我有一个像这样的表 id ip 1 192 168 2 1 并需要得到如下结果 id ip A B C D 1 192 168 2 1 192 168 2 1 Doable SELECT id ip SUBSTRING INDEX ip 1
  • Objective-C 中的属性和访问器

    以下代码是调用访问器 set 函数还是修改指针myMember直接地 aClass h interface MyClass NSObject NSArray myMember property nonatomic retain NSArra
  • Python 图像库 - 使图像区域透明

    我有一个简单的问题要问比我更了解 Python 图像库的人 我有一个带有 alpha 通道的 png 图像 我希望顶部两行像素完全透明 就是这样 到目前为止 我的努力使顶部两行透明 但原始图像丢失了它的 alpha 通道信息 有人知道实现这
  • 更详细地解释 JOIN 与 LEFT JOIN 以及 WHERE 条件性能建议

    In 这位候选人的回答据称JOIN比LEFT JOIN在某些情况下涉及某些WHERE子句 因为它不会混淆查询规划器并且不是 毫无意义的 断言 假设对任何人来说都应该是显而易见的 请进一步解释或提供链接以供进一步阅读 有效地 WHERE条件和
  • chrome扩展弹出文本区域焦点

    当我的 chrome 扩展弹出窗口打开 ondomready 之后 我似乎无法在它的文本区域上调用 focus 我在 popup js 中有类似的东西 document ready function console log moped te
  • 为什么seaborn.pairplot 无法完成绘制该图?

    我有一个数据框central 然后我想绘制列之间的成对关系sns pairplot central 您能解释一下为什么这个过程会永远运行吗 我在我的笔记本电脑和 Colab 上都尝试过 但问题仍然存在 import urllib3 matp
  • 通过 Node.js 将 base64 编码的图像上传到 Amazon S3

    昨天 我进行了一次深夜编码会议 并创建了一个小型的 node js JS 实际上是 CoffeeScript 但 CoffeeScript 只是 JavaScript 所以可以说是 JS 应用程序 目标是什么 客户端将画布 datauri
  • 无法从实现中修改结构字段:“无法借用不可变的借用内容作为可变内容”

    我正在尝试实现一个将产生素数的迭代器 我将已经找到的素数存储在Vec
  • 如何使用 Bootstrap 3.0 修复 Chrome 中水平折叠元素的弹跳

    我正在按照此处的说明进行操作 https stackoverflow com a 18602739 2966090 折叠元素水平地在 Bootstrap 3 0 2 中 此方法在 Firefox 和 Internet Explorer 中运
  • 我应该在 v8::External 中手动删除指针吗?

    Local
  • Office Open XML 中转义字符格式 _xHHHH_ 的有用用例?

    Office Open XML 中的默认编码是UTF 8 所以Unicode已经成为可能 尽管如此 微软还是定义了 ECMA 376 第 1 部分 22 4 变体类型 22 4 2 4 bstr 基本字符串 22 4 2 4 bstr 基本