D3 javascript を変更してコード 39 バーコードをエンコードしようとしています。
問題は、コード 39 バーコードがどのようにエンコードされているのか理解できないことです。文字のエンコードに 12 ビット バイナリを使用しているようです。
できればD3.jsを使用して、「598649」のような文字列を12ビットのバイナリ同等物にデコードするにはどうすればよいですか?
characters = {
'100100100101': '$',
'100100101001': '/',
'100101001001': '+',
'100101011011': '-',
'100101101011': 'X',
'100101101101': '*',
'100110101011': 'V',
'100110101101': ' ',
'100110110101': 'Z',
'101001001001': '%',
'101001011011': '7',
'101001101011': '4',
'101001101101': '0',
'101010011011': 'G',
'101010110011': 'Q',
'101011001011': 'D',
'101011001101': 'J',
'101011010011': 'N',
'101011011001': 'T',
'101100101011': '2',
'101100101101': '9',
'101100110101': '6',
'101101001011': 'B',
'101101001101': 'I',
'101101010011': 'L',
'101101011001': 'S',
'101101100101': 'F',
'101101101001': 'P',
'110010101011': 'U',
'110010101101': '0',
'110010110101': 'Y',
'110011010101': 'W',
'110100101011': '1',
'110100101101': '8',
'110100110101': '5',
'110101001011': 'A',
'110101001101': 'H',
'110101010011': 'K',
'110101011001': 'R',
'110101100101': 'E',
'110101101001': 'O',
'110110010101': '3',
'110110100101': 'C',
'110110101001': 'M',
}
ここに私がこれまでに取り組んできたいくつかのコードがあります。前のコードは、ランダムなバイナリを生成し、キーと値を照合していました。逆のことをしたいので、キー/値を逆にした2番目の配列を作成するだけでよいかどうかわかりません。
//var num= prompt("Enter num")
//console.log(parseInt(num, 10).toString(2))
//var decnum=892938
//alert(decnum.toString(2))
// var b = parseInt( a, 2 )
// var str = '34566'
// var found = str.match(/[01]{12}/g).map(['110100101101','101100101101', '101100101011', '101100101101', '110110010101', '110100101101'])
//str.match(/[01]{12}/g).map(characters)
//console.log(characters[v])
//console.log(found)
var str = ['110100101101','101100101101', '101100101011', '101100101101', '110110010101', '110100101101']
//var barcode_array = str.match(/[01]{12}/g).map(Object.keys(characters))
//console.log(barcode_array)
//split into array
var barcode_input = ['110100101101','101100101101', '101100101011', '101100101101', '110110010101', '110100101101']
//map to binary characters
//console.log(barcode_input.range(Object.keys(characters)))
これがフィドルです https://jsfiddle.net/6szmwkgm/6/
コードは Christopher Manning から変更されていますhttp://bl.ocks.org/christophermanning/4324236 参照用に、別のコード 39 スクリプトを示しますhttp://notionovus.com/blog/code-39-barcode-biscuits/