英语法语西班牙语

运行服务器 | Ubuntu > | Fedora > |


OnWorks 网站图标

kcc - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 kcc

这是 kcc 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

名称


kcc - 具有编码自动检测功能的汉字代码转换器

概要


KCC [ -IO知乎 [ -b 缓冲区大小 [ 文件 ] ...

商品描述


KCC 是一个过滤器,读取 文件 按顺序,将汉字编码和输出转换为
标准输出。 如果没有指定文件,或指定 - 作为文件名,它从标准输入读取。 你可以
为输入/输出指定汉字编码。 然而, KCC 自动检测输入编码,
如果您不指定输入编码。

可用的汉字编码是 JIS(7 位和/或 8 位)、Shift JISEUCDEC。 对于输入
编码,当这些是 EUC DEC 或 Shift JIS 之一和 7 位 JIS 时,您可以混合使用。
SI/SOESC(I 被认为是 JIS 的半角。

配置


-O
-IO I 用于输入汉字编码¡O 用于输出汉字编码。 无输入编码时
指定,它会被自动检测,如果输入/输出都不是
指定,输出编码为 7 位 JIS。

您可以为输入编码选项指定以下之一, I.

e EUC(可用于 7 位 JIS )
d DEC(可用于 7 位 JIS )
s 移位 JIS(可用于 7 位 JIS)
j7 or k
7 位 JIS
8 8 位 JIS

您可以为输出编码选项指定以下之一, O.

e EUC
d DEC
s 转移JIS
jXY or 7XY
7 位 JIS(使用SI/SO 用于 JIS 假名指定)
kXY 7 位 JIS(使用电调(我 用于 JIS 假名指定)
8XY 8 位 JIS

By XY in O 选项,您可以指定在 JIS 编码中使用的转义序列。 BJ
是默认的。 补充汉字指定固定为 ESC$(D

X 汉字被指定为:
B ESC$B(JIS X0208-1983)
@ 电调$@(JIS X0208-1978)
+ ESC&@ESC$B(JIS X0212-1990)
Y 字母数字由以下名称指定:
B 电调(乙)(ASCII)
J 电调(J(JIS 罗马字;JIS X0201)
H 电调(H(瑞典语;强烈反对)

-v 将输入编码检测的结果输出到 stderr。

-x 扩展模式。 通过自动检测输入编码,识别用户定义
字符和扩展字符区域(超出 EUC 范围,未定义的半角
假名、控制字符、C1 区域和/或扩展字符区域 Shift C1 JIS)。
在这种模式下可以区分 DEC 和 EUC。

-z 收缩模式。 不识别输入编码的半角假名(7 位 JIS 除外)
检测。 使用此选项,输入编码自动检测的准确性变为
对于没有半角假名的文件要好得多。

-h 通常,当将半角假名转换为 DEC 时,它会变成全角片假名。
有了这个选项,它就变成了平假名。

-n 用户自定义字符、扩展字符和补充汉字
转换为全角白框,半角假名的未定义区域为
转换为半角居中点。

-b 缓冲区大小
指定缓冲区大小。 8kbytes 是默认值。

-c 不要转换但检查输入编码并将结果打印到标准输出。 不同与
正常的自动检测,检查文件的全部内容。 然而,当
发现编码不一致,中止读取并打印“数据”。 选项
-x¡¤-z 被忽略了。

示例


% KCC -e 文件
输入编码自动检测,输出采用EUC编码。

% KCC -sj file1 file2
Shift JIS 中的两个文件与转换为 JIS 连接在一起。

% 命令 | KCC -k+J
输出 命令 ,那恭喜你, 转换 JIS(JIS JIS X0208 JIS JIS 罗马·电调(我 一半的宽度
假名 JIS )

% KCC -c 文件
内容的编码 文件 检测到(无转换)

BUG


输入编码的自动检测在正常情况下做得很好,但是,它具有
以下问题。

7 位 JIS 在某些情况下被转义序列识别。 EUC 和 DEC 相同(参考
作为 EUC 系列)。 8 位 JIS 的半角假名与 Shift JIS 的半角假名相同
(简称Shift JIS系列)。 但是,EUC 系列和 JIS 都是 8 位
编码,广泛共享相同的区域。 所以,自动检测的问题是
检测这两种编码。

EUC系列/Shift JIS系列的检测是逐行进行的,当发现
不是Shift JIS系列,也不是EUC系列,编码确定。 什么时候
发现不一致,将被视为“数据”,输出的内容不是
保证。

虽然在找到 8 位代码后在 EUC 系列/Shift JIS 系列之间确定,转换
正在等待并将输入数据放入缓冲区,但是,缓冲区已满,它假定它是 EUC
系列和力量开始转换。 基本原理。 通常,我们可以假设文档
汉字包括 JIS 非汉字或 JIS 第一标准,在某些情况下可以检测到
它是 Shift JIS ,它不与 EUC 共享区域。 所以如果不能确定,
很有可能是EUC。

8 位 JIS 并且它总是偶数个半角假名序列,那么它将是
错误地检测为 EUC 汉字。 小心点。

如果输入编码没有半角假名,请使用 -z 和检测的准确性成为
好多了。 这是因为共享区域仅限于 JIS 秒的区域
标准认证。

EUC Shift JIS 用户自定义区域的扩展区域,EUC 的控制字符C1,
EUC 半角假名的未定义区域超出自动检测范围,因此将
如果输入包含这些字符,则无法检测编码。 用 -x 指定选项
扩展模式,或指定输入代码。

使用 onworks.net 服务在线使用 kcc


Ad


Ad