字符生成CODE128-B码

例:'GA-945GCM-S2L 10I'

1.        startcode = u'Ì' //起始码
2.       endcode = u'Î' //终止码

3.

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

CODE128_B = (' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*',
            '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5',
            '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@',
            'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K',
            'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
            'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_',
            '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
            'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u',
            'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~',
            u'Ã', u'Ä', u'Å', u'Æ', u'Ç', u'È', u'É', u'Ê',
            )

class stringconvert128():
   
    def __init__(self,string):
        self.str = string      
       
    def getcheckvalue(self):
        #CHECK VALUE
        value = 104 #code_b=104,code_a=103,code_c=105
        for i in range(0,len(self.str)):
            i_value = self.str[i]
            if i_value in CODE128_B:
                count = 0
                for j in CODE128_B:
                    if i_value == j:
                        index = count
                    else:
                        count += 1
                value += index*(i+1)
            else:
                value += 0
               
        ID = value%103

        return CODE128_B[ID]     

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        check_obj = stringconvert128('GA-945GCM-S2L 10I')
        checkcode = check_obj.getcheckvalue()

4.这样你的编码就生成了,text = startcode+'GA-945GCM-S2L 10I'+checkcode+endcode

你再下载一个Code 128的字体,就可以了.....

你可能感兴趣的:(C++,c,F#,C#,J#)