常用字符集编码名称和代码对应关系表

 

Encodeing CodeEncoding name
37IBM037
273IBM273
277IBM277
278IBM278
280IBM280
284IBM284
285IBM285
297IBM297
367US-ASCII
420IBM420
423IBM423
424IBM424
437IBM437
500IBM500
808IBM808
813ISO-8859-7
819ISO-8859-1
838IBM-Thai
850IBM850
852IBM852
855IBM855
857IBM857
858IBM00858
862IBM862
863IBM863
864IBM864
866IBM866
867IBM867
869IBM869
870IBM870
871IBM871
872IBM872
874TIS-620
878KOI8-R
901ISO-8859-13
902IBM902
904IBM904
912ISO-8859-2
915ISO-8859-5
916ISO-8859-8-I
920ISO-8859-9
921IBM921
922IBM922
923ISO-8859-15
924IBM00924
932Shift_JIS
943Windows-31J
949EUC-KR
950Big5
954EUC-JP
964EUC-TW
970EUC-KR
1004Microsoft-Publish
1026IBM1026
1043IBM1043
1047IBM1047
1051hp-roman8
1089ISO-8859-6
1129VISCII
1140IBM01140
1141IBM01141
1142IBM01142
1143IBM01143
1144IBM01144
1145IBM01145
1146IBM01146
1147IBM01147
1148IBM01148
1149IBM01149
1153IBM01153
1155IBM01155
1160IBM-Thai
1161TIS-620
1162TIS-620
1163VISCII
1168KOI8-U
1200UTF-16BE
1202UTF-16LE
1204UTF-16
1208UTF-8
1232UTF-32BE
1234UTF-32LE
1236UTF-32
1250windows-1250
1251windows-1251
1252windows-1252
1253windows-1253
1254windows-1254
1255windows-1255
1256windows-1256
1257windows-1257
1258windows-1258
1275MACINTOSH
1363KSC_5601
1370Big5
1381GB2312
1383GB2312
1386GBK
1392GB18030
4909ISO-8859-7
5039Shift_JIS
5346windows-1250
5347windows-1251
5348windows-1252
5349windows-1253
5350windows-1254
5351windows-1255
5352windows-1256
5353windows-1257
5354windows-1258
5488GB18030
8612IBM420
8616IBM424
9005ISO-8859-7
12712IBM424
13488UTF-16BE
13490UTF-16LE
16840IBM420
17248IBM864
17584UTF-16BE
17586UTF-16LE
62209IBM862
62210ISO-8859-8
62211IBM424
62213IBM862
62215ISO-8859-8
62218IBM864
62221IBM862
62222ISO-8859-8
62223windows-1255
62224IBM420
62225IBM864
62227ISO-8859-6
62228windows-1256
62229IBM424
62231IBM862
62232ISO-8859-8
62233IBM420
62234IBM420
62235IBM424
62237windows-1255
62238ISO-8859-8-I
62239windows-1255
62240IBM424
62242IBM862
62243ISO-8859-8-I
62244windows-1255
62245IBM424
62250IBM420
<think>好的,我现在需要解决用户的问题:查找Code39条码在Python中支持的所有字符集及其对应编码表,并实现其Python代码。首先,我要回忆一下Code39的基本知识。 Code39是一种常见的条形码格式,通常用于物流、库存管理等场景。它的字符集包括数字0-9,大写字母A-Z,以及几个特殊符号,比如空格、-、.、$、/、+、%。我记得Code39的名称来源于它能表示39个字符(后来扩展为43个,但通常还是叫Code39)。每个字符由5个条(bar)4个空(space)组成,其中3个是宽的,其余是窄的。每个字符之间用窄空分隔。 接下来,我需要确认Python中是否有支持Code39的库。常用的条码生成库有python-barcodepyBarcode。这里可能需要查看它们的文档。假设用户使用python-barcode库,这个库支持多种条码格式,包括Code39。 然后,用户需要知道Code39支持的所有字符及其编码表。根据Code39的标准,标准字符集包括:0-9、A-Z(大写)、空格、-、.、$、/、+、%,以及特殊起始/终止符号*。总共43个字符,但有些资料可能仍称其为39个,因为最初版本可能不包括扩展符号。需要确认具体的编码表,每个字符对应的条空的排列。 比如,字符'A'的编码可能是窄条、宽空、窄条、窄空,宽条等,具体需要参考Code39的编码规则。每个字符由9个元素(5条4空,交替排列),其中每个元素是宽或窄的。通常用二进制表示,例如用1表示宽,0表示窄,或者用不同的宽度比例。 接下来,考虑Python中的实现。使用python-barcode库的话,生成Code39条码的代码可能比较简单。需要安装库,然后调用相应的模块。例如: 安装命令:pip install python-barcode 然后编写代码生成Code39条码,并检查是否支持扩展模式(即是否支持小写字母或其他符号)。但标准Code39可能不支持小写字母,扩展版本如Code39 Full ASCII可能需要使用不同的编码方式,比如使用两个Code39字符表示一个ASCII字符。 不过用户的问题可能只关注标准Code39的字符集。因此需要列出所有支持的字符,并说明编码表的结构。例如,每个字符对应的二进制模式或宽度序列。 另外,可能需要处理校验的问题。标准Code39是否包含校验位?通常Code39不强制使用校验位,但有些实现可能支持。需要确认库的默认行为。 总结步骤: 1. 确定Code39的标准字符集编码规则。 2. 查找python-barcode库中Code39模块的实现,确认支持的字符。 3. 编写示例代码,生成Code39条码并验证字符集。 4. 整理编码表,展示每个字符对应的条空序列。 可能遇到的疑问:是否支持小写字母?根据标准,Code39不支持,但扩展模式可能允许。需要明确用户的问题是否需要处理扩展情况。根据用户的问题描述,他们可能只需要标准Code39的字符集,因此重点放在大写字母、数字特定符号上。 最后,确保回答中包含编码表的具体内容,例如每个字符对应的条空的位置,以及Python代码示例,说明如何生成条码,并验证支持的字符。</think>### Code39条码字符集编码表 Code39(又称Code 3 of 9)是一种广泛使用的条形码格式,支持以下字符集: - **数字**:$0-9$ - **大写字母**:$A-Z$ - **特殊符号**:`-`、`.`、` `(空格)、`$`、`/`、`+`、`%`、`*`(起始/终止符) 共43个字符(含起始/终止符)。 #### 编码规则 每个字符由 **5个条(bar)** **4个空(space)** 组成,其中3个宽单元(宽条或宽空),其余为窄单元。编码表如下(部分示例): | 字符 | 条空序列(宽=1,窄=0) | 二进制模式 | |------|------------------------|------------| | `0` | 0001101 | 101011101 | | `A` | 1001001 | 101101001 | | `*` | 0100101 | 101001011 |[^1] 完整编码表可参考国际标准ANSI/AIM BC1-1995[^2]。 --- ### Python实现Code39条码生成 #### 步骤1:安装依赖库 ```bash pip install python-barcode ``` #### 步骤2:生成Code39条码 ```python from barcode import Code39 from barcode.writer import ImageWriter # 生成Code39条码(默认不包含校验位) code = Code39("PYTHON-123", writer=ImageWriter(), add_checksum=False) code.save("code39_example") ``` #### 注意事项 1. **字符限制**:输入的字符串必须仅包含Code39支持的字符,否则会抛出异常。 2. **校验位**:通过 `add_checksum=True` 可启用校验位(使用模43算法)[^3]。 3. **扩展模式**:如需支持全ASCII字符,需使用 `Code39Full`,但需依赖特殊编码方式(如`$`+字母表示小写)[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值