第十六章 ObjectScript 翻译表

文章目录

  • 第十六章 ObjectScript 翻译表
  • 介绍
  • 表格列表
        • `RAW`
        • SAME
        • HTML
        • `JS` or `JSML`
        • `JSON` or `JSONML`
        • `URI`
        • URL
        • UTF8
        • `XML`
    • 其他表

第十六章 ObjectScript 翻译表

IRIS 使用转换表(也称为 I/O 表)来完成字符转换任务。某些 API 调用(以及 $zconvert 函数)可以接受转换表作为参数。

介绍

使用翻译表进行字符转换的一般场景有两种:

  • 在许多上下文中(例如在 URLHTMLJSON 等中),不允许使用特定字符,并且必须使用转义序列来表示。在这种情况下,需要将字符与允许的字符集进行转换。
  • 如果正在从数据库外部的源读取或写入数据库外部的目标,则该实体可能需要与 IRIS 使用的字符集不同的字符集。这种情况下就需要对字符编码进行转换。

给定上下文的“翻译表”实际上是一对表。一个表指定如何从默认字符集转换为外来字符集(或外来上下文),另一个表指定如何沿另一个方向转换。在 IRIS 中,惯例是将这对表称为具有输入模式和输出模式的单个单元。因此,有一个 HTML 转换表用于管理与 HTML 的转换,并且有一个 CP1250 转换表用于管理与 CP1250 字符集的转换。

表格列表

以下是 IRIS 转换表的列表:

RAW

8 位字符或 16Latin-1 字符(高位字节值为 00Unicode 字符)不执行转换。

RAW 翻译不应用于使用非 Latin-1 语言环境的 IRIS 系统,例如 rusw

SAME

8 位字符转换为相应的 Unicode 字符。

HTML

向字符串添加(输出模式)或删除(输入模式)HTML 转义字符。

JS or JSML

使用提供的 JavaScript 转换表转义字符串中的字符以在 JavaScript 中使用。对于输入翻译,“\0”、“\000”、“\x00”和“\u0000”都是 NULL 的有效转义序列。

JSON or JSONML

使用提供的转换表转换为 JSON 格式。

URI

在字符串中添加(输出模式)或删除(输入模式)URI 参数转义字符。 URI 对字符进行编码 !"#$%&'()*+,/:;<=>?@[]^``{|} 如下:%20%21%22%23%24%25%26%27%28%29%2A%2B%2C%2F%3A%3B%3C%3D%3E%3F%40%5B%5D%5E%60%7B%7C%7D.

空格字符被编码为 %20

双引号字符(当包含在带引号的字符串中时必须加倍转义,例如"My ""perfect"" code") 被编码为 %22

URI 不对波形符 (~) 字符进行编码。

URI 将高于 $CHAR(255)(Unicode 字符)的字符编码为 UTF-8,然后 % 以十六进制表示法对 UTF-8 值进行编码。

URL

在字符串中添加(输出模式)或删除(输入模式)URL 参数转义字符。 URL 对字符进行编码 "#%&+,:;<=>?@[]^{|}~ `
如下:`%20%22%23%25%26%2B%2C%3A%3B%3C%3D%3E%3F%40%5B%5D%5E%60%7B%7C%7D%7E`

空格字符被编码为 %20

双引号字符(当包含在带引号的字符串中时必须加倍转义,例如"My ""perfect"" code") 被编码为 %22

高于 $CHAR(255) 的字符以 Unicode 十六进制表示法表示:$CHAR(256) = %u0100

UTF8

UTF-8 编码。这会将(输出模式)16Unicode 字符转换为一系列 8 位字符。 ASCII 16Unicode 字符转换为单个 8 位字符;例如,十六进制 0041(字母“A”)会转换为 8 位字符十六进制 41。非 ASCII Unicode 字符会转换为两个或三个 8 位字符。

Unicode 十六进制 008007FF 转换为两个 8 位字符;其中包括 Latin-1 补充字符和拉丁扩展字符以及希腊语、西里尔语、希伯来语和阿拉伯字母。

Unicode 十六进制 0800FFFF 转换为三个 8 位字符;这些构成了 Unicode 基本多语言平面的其余部分。因此,ASCII 字符 $CHAR(0)$CHAR(127)RAWUTF8 模式下是相同的; $CHAR(128) 及以上字符将被转换。

XML

向字符串添加(输出模式)或删除(输入模式)XML 转义字符。

其他表

其余的转换表特定于字符集转换,这些表的名称与这些字符集的名称相同。这些表包括以下内容:

  • UnicodeLittle
  • UnicodeBig
  • CP1250
  • CP1251
  • CP1252
  • CP1253
  • CP1255
  • CP437
  • CP850
  • CP852
  • CP866
  • CP874
  • EBCDIC
  • Latin2
  • Latin9
  • LatinC
  • LatinG
  • LatinH
  • LatinT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/132060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iPhoto照片垃圾清理工具CleanMyMacX2024

CleanMyMacX的照片垃圾清理功能会浏览您的iPhoto图片库&#xff0c;找到那些经过裁剪、调整大小、旋转或者其他编辑之后不再需要的但仍被iPhoto保存的原始图片副本。这些副本是隐藏的&#xff0c;但是它们却极大的增加了图片库的大小。 CleanMyMac X全新版下载如下: https://…

淘宝APP原数据如何获取??

随着中国互联网的快速发展&#xff0c;淘宝APP已成为了人们购物必备的应用程序之一。作为中国最大的在线购物平台之一&#xff0c;淘宝APP每天都会生成海量的交易数据&#xff0c;这些数据对分析消费者行为、预测市场趋势和优化商家运营都非常重要。因此&#xff0c;淘宝APP数据…

揭秘ChatGPT的智慧密码:向量数据库的神奇作用解析

2023年8月&#xff0c;亚马逊云科技推出了自己的向量引擎Amazon OpenSearch Serverless向量引擎&#xff0c;这被认为是其旗下大语言模型Amazon Titan超越ChatGPT的一个重要契机。 那么&#xff0c;这个Amazon OpenSearch Serverless向量引擎有何厉害之处&#xff1f;为什么能…

小程序和APP的区别|软件定制开发|网站搭建

小程序和APP的区别|软件定制开发|网站搭建 随着移动互联网的快速发展&#xff0c;小程序和APP成为人们日常生活中不可或缺的应用程序。然而&#xff0c;许多用户常常混淆它们之间的区别&#xff0c;本文将就两者进行对比&#xff0c;以帮助读者更好地理解它们的优势和适用场景…

Android 应用工具类

✍️作者简介&#xff1a;沫小北/码农小北&#xff08;专注于Android、Web、TCP/IP等技术方向&#xff09; &#x1f433;博客主页&#xff1a;沫小北/码农小北 开源中国、稀土掘金、51cto博客、博客园、知乎、简书、慕课网、CSDN &#x1f514;如果文章对您有一定的帮助请&…

labelme2coco.py 脚本增强

前言 最近在做一个实例分割的项目&#xff0c;用使用 Segment anything 的脚本先处理一遍图片&#xff0c;然后用labelme人工审核和调整。&#xff08;labelme 新版本已经加入了 Segment anything&#xff0c;可以AI 抠图&#xff0c;可惜用的是onnxruntime&#xff0c;于是我…

好用的MybatisX插件~

MybatisX插件&#xff1a; MyBatis-Plus为我们提供了强大的mapper和service模板&#xff0c;能够大大的提高开发效率。但是在真正开发过程中&#xff0c;MyBatis-Plus并不能为我们解决所有问题&#xff0c;例如一些复杂的SQL&#xff0c;多表联查&#xff0c;我们就需要自己去…

CentOS 7上创建Python 3虚拟环境

在CentOS 7上创建Python 3虚拟环境可以使用virtualenv包。以下是创建Python 3虚拟环境的步骤&#xff1a; 确保已经安装了Python 3和pip。可以通过在终端中运行以下命令来检查它们是否已安装&#xff1a; python3 --version pip3 --version如果未安装&#xff0c;请使用以下…

二十、泛型(1)

本章概要 基本概念 与 C 的比较 简单泛型 一个元组类库一个堆栈类RandomList 基本概念 普通的类和方法只能使用特定的类型&#xff1a;基本数据类型或类类型。如果编写的代码需要应用于多种类型&#xff0c;这种严苛的限制对代码的束缚就会很大。 多态是一种面向对象思想的泛…

2-爬虫-代理池搭建、代理池使用(搭建django后端测试)、爬取某视频网站、爬取某视频网站、bs4介绍和遍历文档树

1 代理池搭建 2 代理池使用 2.1 搭建django后端测试 3 爬取某视频网站 4爬取某视频网站 5 bs4介绍和遍历文档树 1 代理池搭建 # ip代理-每个设备都会有自己的IP地址-电脑有ip地址---》访问一个网站---》访问太频繁---》封ip-收费&#xff1a;靠谱稳定--提供api-免费&#xff…

一键同步chromedriver版本

ChromeDriver是一个控制Chrome浏览器的驱动程序&#xff0c;它和Selenium一起被广泛用于Web自动化测试。然而&#xff0c;随着Chrome版本的升级&#xff0c;我们需要不断更新ChromeDriver以保持其与Chrome的兼容性。这个过程既费时又繁琐&#xff0c;而且对于非技术人员来说可能…

Framebuffer 介绍和应用编程

前言&#xff1a; 使用的开发板为韦东山老师的 IMX6ULL 目录 Framebuffer介绍 LCD 操作原理 涉及的 API 函数 1.open 函数 2.ioctl 函数 3.mmap 函数 Framebuffer 程序分析 1.打开设备 2.获取 LCD 参数 3.映射 Framebuffer 4.描点函数 5.随便画几个点 6.上机实验…

RPC 原理详解

文章目录 什么是 RPCRPC 基本原理RPC核心功能服务寻址数据编解码网络传输一次RPC的调用过程 实践基于HTTP协议的RPC基于TCP协议的RPC 什么是 RPC RPC&#xff08;Remote Procedure Call&#xff09;&#xff0c;即远程过程调用&#xff0c;它允许像调用本地服务一样调用远程服…

DC电源模块隔离电路的影响

BOSHIDA DC电源模块隔离电路的影响 DC电源模块隔离电路是电子设备中常用的一种电路。它的作用是在设备中两个电路之间建立一定的隔离&#xff0c;以保证两个电路之间不会传递电流或信号。这种隔离电路的影响可以从以下几个方面来分析。 首先&#xff0c;隔离电路可以提高安全性…

rust 泛型和特征

特征 Trait 定义特征 如果不同的类型具有相同的行为&#xff0c;那么我们就可以定义一个特征&#xff0c;然后为这些类型实现该特征。定义特征是把一些方法组合在一起&#xff0c;目的是定义一个实现某些目标所必需的行为的集合。 例如&#xff0c;我们现在有文章 Post 和微…

Linux个性化登录提示信息

在Linux系统中&#xff0c;您可以为每个用户登录后显示个性化的提示信息。这通常通过修改用户的shell配置文件来实现&#xff0c;这个文件通常是用户的.bashrc或.bash_profile文件。以下是一些示例步骤&#xff0c;来实现这个目标&#xff1a; 打开终端并登录到Linux系统。 使…

第68讲:MySQL触发器的核心概念以及常见的触发类型应用案例

文章目录 1.触发器的概念2.触发器操作的语法结构3.各类触发器的典型应用案例3.1.需求描述以及实现思路3.2.创建日志表3.3.INSERT类型的触发器3.4.UPDATE类型的触发器3.5.DELETE类型的触发器 1.触发器的概念 触发器是与表中数据相关的数据库对象&#xff0c;当表中的数据产生in…

完美解决RuntimeError: expected scalar type Long but found Float

文章目录 一、错误解释RuntimeError: expected scalar type Long but found Float二、错误分析三、解决办法总结 一、错误解释RuntimeError: expected scalar type Long but found Float RuntimeError&#xff1a;应为标量类型Long&#xff0c;但找到了Float 二、错误分析 我…

将GC编程语言引入WebAssembly的新方法

本文讨论了一种名为 WasmGC 的新方法&#xff0c;用于将垃圾收集编程语言有效地引入 WebAssembly。 WasmGC 定义了新的 GC 类型&#xff0c;例如结构和数组&#xff0c;与之前编译为线性内存的方法 (WasmMVP) 相比&#xff0c;它们可以实现更好的优化&#xff1a; 在编译时和…

点云从入门到精通技术详解100篇-基于三维点云的机器人抓取位姿检测(续)

目录 3.2 目标点云的预处理 3.2.1 直通滤波 3.2.2 体素降采样 3.2.3 剔除支撑平面 3.2.4 剔除离群点