编辑“︁
Code39
”︁
跳转到导航
跳转到搜索
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
[[File:Code_3_of_9.svg|右|缩略图|262x262像素| 「*WIKIPEDIA*」的 Code39 條碼 ]] '''Code39'''(也稱為'''Alpha39'''、'''Code 3 of 9'''、'''Code3/9'''、'''Type 39'''、'''USS Code39'''或'''USD-3''')是'''[[ISO]]/[[IEC]] 16388:2007'''中定義的一種不固定長度的條碼。可以表示43个字元,包含大寫拉丁字母(A到Z)、数字(0到9)和幾個特殊字元(-、.、$,/、+、%與空格)。另有一個外加符號作為終止符號(標示為「*」)。每个字元由九个部份组成:五條線與和四個空格,當中三個部份較寬(二進位1),六個較窄。窄与宽之间的比例并不重要,在1:2和1:3之間都可。 == 性質 == Code39本身不包含校验位(与[[Code128|Code 128]]不同),但是由于单點错误不會對應到另一個有效的編碼,因此可以算是自我校驗碼。Code39的最严重缺点可能是其数据密度低,與Code 128相比需要更多空間。這表示小型商品不易使用Code39條碼。但是,某些郵政系統仍然使用Code39(尽管[[萬國郵政聯盟]]建议在所有情况下都使用Code 128 <ref>As one example of an international standard, see {{Cite web|title=Identification of postal items – 13-character identifier|url=http://pls.upu.int/document/2011/an/cep_c_4_gn_ep_4-1/src/d008_ad00_an01_p00_r00.pdf|date=28 October 2010|publisher=[[Universal Postal Union]]}}{{Dead link}}</ref> )。Code39的幾個个优点是,只要增加條碼字體,就能夠用現有的印刷系統印出條碼,因為Code39不需要計算校驗位置。<ref>{{Cite web|title=Google Fonts|url=https://fonts.google.com/|accessdate=2019-05-20|work=Google Fonts|archive-date=2019-10-20|archive-url=https://web.archive.org/web/20191020222559/https://fonts.google.com/|dead-url=yes}}</ref>而且幾乎所有的條碼掃描器都能解碼。 == 歷史 == Code39由{{Tsl|en|Intermec}}的{{Tsl|en|David Allais}}與Ray Stevens在1974年開發。原始设计是使用兩條粗線與一個寬空格來表示一個字元,總共可以表示40個符號。再保留其中一個作為開始與終止符號,剩下39個符號,這也是Code39的名稱来源。<ref>{{Cite journal|title=AIDC Memoirs|url=http://aidc100.org/files/Allais-_David_Memoirs.pdf|last=Allais, D. C.|accessdate=2010-06-02|year=2006|format=PDF|archiveurl=https://web.archive.org/web/20130126112426/http://aidc100.org/files/Allais-_David_Memoirs.pdf|archivedate=2013-01-26|journal=|dead-url=no}}</ref>之後加入了四个标点符号,並排除粗線與三格寬的空格的編碼,將字元集扩展为43个字元。Code39被标准化为[[美國國家標準協會|ANSI]] MH 10.8 M-1983和MIL-STD-1189。<ref>{{Cite web|title=MIL-STD-1189 Standard Department of Defense Barcode Symbology|url=https://assist.daps.dla.mil/quicksearch/basic_profile.cfm?ident_number=36123|accessdate=2010-07-22|date=1989-08-10|archiveurl=https://web.archive.org/web/20110722223332/https://assist.daps.dla.mil/quicksearch/basic_profile.cfm?ident_number=36123|archivedate=2011-07-22|dead-url=no}}</ref>後者已被取消,并由ANSI/AIM BC1/1995〈Uniform Symbology Specification — Code39〉代替。<ref>{{Cite web|title=Adoption Notice: AIM/BC1 Uniform Symbology Specification|url=http://www.dscp.dla.mil/subs/support/specs/crds/milstan.asp|accessdate=2011-04-06|date=1997-06-19|archiveurl=https://web.archive.org/web/20110927231714/http://www.dscp.dla.mil/subs/support/specs/crds/milstan.asp|archivedate=2011-09-27|dead-url=no}}</ref> == 编码方式 == 下面显示的「*」字元不是真正的可编码字元,而是開始與終止符號,其不对称性使阅读器可以确定所扫描条形码的方向。這個符號通常會對映到「*」字元,並且會與條碼內容一起以人類可讀格式印出。 [[File:Free_3_of_9_(Code_39_barcode).svg|缩略图| Code39的字元 ]] 一般來說,兩條粗線的位置可以視為對數字1至10編碼;而宽空格的位置(具有四个可能)可视为将字元分为四組(从左到右): # 「字母(+30)」:U至Z # 「数字(+0)」:1至9與0 # 「字母(+10)」:A至J # 「字母(+20)」:K至T 最後剩下的四个字元只由細線、三個寬空格與一格窄空格组成。窄空格有四個可能的位置。 例如,字母P(第16個字母)的粗線位置與數字6相同,寬空格則放在「字母(+20)」的位置。 在表示数字时,0會用「數字(+0)」的「10」表示。另外因為「字母(+30)」组中只有六个字母(U至Z),因此该组中的其他四个位置(36至39)用於表示「-」、「.」、空格以及開始/終止符號。 兩條粗線則用五個可能的位置使用[[五取二碼]](每一位分別表示1、2、4、7或0)表示1到10之间的数字。例如数字6被编码为「|▮▮||」,粗線位在2和4的位置(2+4=6)。而「||▮▮|」的數值為{{Nowrap|1=4+7=11}}表示數字0 。 在对(+10至+30)的字母进行编码时,算式需要添加「 -1」,因此字母「A」的編碼為「▮|| |▮」,對應的數值為1+10−1=10。 下表是Code39的符號表。每個字元(除了開始/終止符號)的數值會在下節的校验演算法中使用。{{clear}} {| class="wikitable" |+Code39 字元 (與校驗和) ! colspan="2" rowspan="2" |線條 ! colspan="12" |寬空格 |- ! colspan="2" ||| ||| !+0 ! colspan="2" |||| || !+10 ! colspan="2" ||||| | !+20 ! colspan="2" || |||| !+30 |- !▮|||▮ !1 |▮| ||▮ |1 |1 |▮|| |▮ |A |10 |▮||| ▮ |K |20 |▮ |||▮ |U |30 |- !|▮||▮ !2 ||▮ ||▮ |2 |2 ||▮| |▮ |B |11 ||▮|| ▮ |L |21 || ▮||▮ |V |31 |- !▮▮||| !3 |▮▮ ||| |3 |3 |▮▮| || |C |12 |▮▮|| | |M |22 |▮ ▮||| |W |32 |- !||▮|▮ !4 ||| ▮|▮ |4 |4 |||▮ |▮ |D |13 |||▮| ▮ |N |23 || |▮|▮ |X |33 |- !▮|▮|| !5 |▮| ▮|| |5 |5 |▮|▮ || |E |14 |▮|▮| | |O |24 |▮ |▮|| |Y |34 |- !|▮▮|| !6 ||▮ ▮|| |6 |6 ||▮▮ || |F |15 ||▮▮| | |P |25 || ▮▮|| |Z |35 |- !|||▮▮ !7 ||| |▮▮ |7 |7 |||| ▮▮ |G |16 ||||▮ ▮ |Q |26 || ||▮▮ | - |36 |- !▮||▮| !8 |▮| |▮| |8 |8 |▮|| ▮| |H |17 |▮||▮ | |R |27 |▮ ||▮| |. |37 |- !|▮|▮| !9 ||▮ |▮| |9 |9 ||▮| ▮| |I |18 ||▮|▮ | |S |28 || ▮|▮| |[[空格|␣]] |38 |- !||▮▮| !10 ||| ▮▮| |0 |0 |||▮ ▮| |J |19 |||▮▮ | |T |29 || |▮▮| |* | |- ! colspan="14" | |- !||||| ! || | | || |$ |39 || | || | |/ |40 || || | | | + |41 ||| | | | |% |42 |} 每個字元會用一個窄空格隔開。例如,字母「A」完整编码实际上會加上開始/終止符號,變成「*A*」,對應的條碼為{{Nowrap|「| |▮▮|▮|| |▮| |▮▮|」}}。只要没有这些空格,就无法正确读取條碼,因此條碼字體必須要包含這個窄空格。 == Code39 mod 43 == Code39有時會加上[[模除|模]]43的[[校验和|校验位]]。這個功能需要在另外在讀取器中開啟。加上校验位的條碼称为''「Code39 mod 43」'' 。 每個字元都被分配到一個數值。可以參考上表。 这是[[校验和]]的计算方法: * 計算條碼中所有字元(除了開始/終止符號)的數值總和 * 將結果除以43 * 餘數即為校验和字元的數值 == 完整的ASCII Code39 == Code39僅能表示34個字元。在[[ASCII]] Code39中,0至9、A至Z、「.」、「,」以及空格的符號與Code39相同。小寫字母、其他標點符號和控制字元則由兩個Code39符號表示。 {| class="wikitable" style="text-align:center" |+colspan="12" |編碼表 |- !數值 !! 字元 !! 編碼 !數值 !! 字元 !! 編碼 !數值 !! 字元 !! 編碼 !數值 !! 字元 !! 編碼 |- !0 | NUL || %U !32 | [space] || [space] !64 | @ || %V !96 | ` || %W |- !1 | SOH || $A !33 | ! || /A !65 | A || A !97 | a || +A |- !2 | STX || $B !34 | " || /B !66 | B || B !98 | b || +B |- !3 | ETX || $C !35 | # || /C !67 | C || C !99 | c || +C |- !4 | EOT || $D !36 | $ || /D !68 | D || D !100 | d || +D |- !5 | ENQ || $E !37 | % || /E !69 | E || E !101 | e || +E |- !6 | ACK || $F !38 | & || /F !70 | F || F !102 | f || +F |- !7 | BEL || $G !39 | ' || /G !71 | G || G !103 | g || +G |- !8 | BS || $H !40 | ( || /H !72 | H || H !104 | h || +H |- !9 | HT || $I !41 | ) || /I !73 | I || I !105 | i || +I |- !10 | LF || $J !42 | * || /J !74 | J || J !106 | j || +J |- !11 | VT || $K !43 | + || /K !75 | K || K !107 | k || +K |- !12 | FF || $L !44 | , || /L !76 | L || L !108 | l || +L |- !13 | CR || $M !45 | - || - !77 | M || M !109 | m || +M |- !14 | SO || $N !46 | . || . !78 | N || N !110 | n || +N |- !15 | SI || $O !47 | / || /O !79 | O || O !111 | o || +O |- !16 | DLE || $P !48 | 0 || 0 !80 | P || P !112 | p || +P |- !17 | DC1 || $Q !49 | 1 || 1 !81 | Q || Q !113 | q || +Q |- !18 | DC2 || $R !50 | 2 || 2 !82 | R || R !114 | r || +R |- !19 | DC3 || $S !51 | 3 || 3 !83 | S || S !115 | s || +S |- !20 | DC4 || $T !52 | 4 || 4 !84 | T || T !116 | t || +T |- !21 | NAK || $U !53 | 5 || 5 !85 | U || U !117 | u || +U |- !22 | SYN || $V !54 | 6 || 6 !86 | V || V !118 | v || +V |- !23 | ETB || $W !55 | 7 || 7 !87 | W || W !119 | w || +W |- !24 | CAN || $X !56 | 8 || 8 !88 | X || X !120 | x || +X |- !25 | EM || $Y !57 | 9 || 9 !89 | Y || Y !121 | y || +Y |- !26 | SUB || $Z !58 | : || /Z !90 | Z || Z !122 | z || +Z |- !27 | ESC || %A !59 | ; || %F !91 | [ || %K !123 | { || %P |- !28 | FS || %B !60 | < || %G !92 | \ || %L !124 | | || %Q |- !29 | GS || %C !61 | = || %H !93 | ] || %M !125 | } || %R |- !30 | RS || %D !62 | > || %I !94 | ^ || %N !126 | ~ || %S |- !31 | US || %E !63 | ? || %J !95 | _ || %O !127 | DEL || %T, %X, %Y, %Z |} == 軟體 == 下列[[自由及开放源代码软件|自由與開源的軟體]]可以產生Code39條碼: * [https://www.gnu.org/software/barcode/ GNUBarcode]{{Wayback|url=https://www.gnu.org/software/barcode/ |date=20200528183321 }} <ref>{{Cite web|title=GNU Barcode|url=https://www.gnu.org/software/barcode/|date=19 February 2020|publisher=[[GNU Project]]|accessdate=2020-08-25|archive-date=2020-05-28|archive-url=https://web.archive.org/web/20200528183321/https://www.gnu.org/software/barcode/|dead-url=no}}</ref> * [https://glabels.org/ gLabels]{{Wayback|url=https://glabels.org/ |date=20200807075417 }} * [https://graphicore.github.io/librebarcode/documentation/code39.html Libre Barcode Project] {{Wayback|url=https://graphicore.github.io/librebarcode/documentation/code39.html |date=20221218090324 }} == 参考文献 == {{Reflist|30em}} {{條碼}} [[Category:條碼]]
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息