关于Code 128编码ISO-8859-1特殊字符时SHIFT与FNC4使用的疑问
Code 128中FNC4与SHIFT用法的疑问解答
问题1:≥224的符号何时需要使用[SHIFT]
你的推测完全成立:
- 在Code 128A编码模式下,若要通过
[FNC4]访问≥224的高阶ASCII符号,必须搭配[SHIFT]使用。因为Code 128A默认映射ASCII 0-95及控制字符,[FNC4]仅提供访问扩展子集的入口,[SHIFT]用于触发单次高阶符号的映射。 - 在Code 128B编码模式下,无需
[SHIFT]即可通过[FNC4]直接访问≥224的符号。Code 128B默认覆盖ASCII 32-127,扩展后的子集直接支持高阶符号映射,不需要额外的SHIFT触发。
问题2:FNC4[FNC4]序列与扩展集的持续生效规则
- 当在Code 128A中使用
[FNC4][FNC4]序列切换至高阶ASCII子集后,不需要重复使用[SHIFT]。这个序列会触发持续的高阶子集模式,该模式下输入的字符会直接映射到对应高阶ASCII符号,直到模式被终止。 - 关于Code 128B的扩展集:开启后,该扩展状态会持续生效到遇到下一个
[FNC4][FNC4]序列,或者条码编码结束。另外需要注意,ASCII 128-159的范围在Code 128标准中确实没有定义对应的编码,无论是否开启扩展集,这个范围都无法被映射。
内容的提问来源于stack exchange,提问作者Peter Vermilye
相关产品推荐
相关产品推荐

