无法从条形码中识别字符串编码

时间:2015-09-19 03:43:43

标签: ios string encoding hex barcode

我的任务是使用iOS设备解码存储在Aztec条形码上的数据。我可以访问组装发送到条形码打印机的字符串的代码,但打印本身就是一个黑盒子。

当我逐步完成整个过程时,我可以看到发送到打印机的字符串如下所示(请注意,除了前8个字符之外,这是加密字符串):

  

_36_30_30_30_30_34_7c_5d_49_0b_ea_f7_93_ba_89_d2_c6_c2_41_2a_d7_1c_49_8c_6d_4b_5c_07_5a_ca_7a_6a_c6_d5_d0_6c_f7_20_76_5b_e0_18_46_93_7e_2a_30_0d_14_3a_1a_e5_66_7c_05_f9_df_96_8a_f1_45_a5_4a_6e_2f_89_3f_f0_93_1f_bc_3e_77_5b_27_0c_58_df_55_37_4c_ae_8a_e7_c3_c6_16_5b_57_db_7c_2d_2c_8b_1c_e3_a4_44_1b_c4_ba_6a_c6_98_93_ae_2d_20_6e_9f_e8_0f_eb_bc_9f_2e_8a_e7_cf_da_22_96_e1_74_de_b2_f0_29_ec_b1_c1_75_43_1f_b2_e5_1f_a5_f6_06_3e_97_a1_a1_93_f4_51_4a_c4_14_9f_1a_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_c2_5b_ba_02_45_44_2b_b3_06_0b_12_75_85_8b_07_fb

打印的条形码如下所示:

enter image description here

然而,当我使用通用的iOS条形码阅读器阅读它时(我已尝试了一些),我得到以下内容:

600004|]I�ê÷ºÒÆÂA*×�ImK\�ZÊzjÆÕÐl÷ v[à�F~*0
�:�åf|�ùßñE¥Jn/?ð�¼>w['�XßU7L®çÃÆ�[WÛ|-,�ã¤D�ĺjÆ®- nè�PÐk^¡±xOS5·Óþ�ßá×D¢\���¥ö�>¡¡ôQJÄ��Â[º�ED+³Â[º�ED+³Â[º�ED+³Â[º�ED+³Â[º�ED+³Â[º�ED+³���u�û

这与原始字符串相似(例如前几个字符)。但我不知道这是什么类型的编码,或者如何将其转换为我期望看到的十六进制代码。

我很想知道:

1)我在这看什么?

2)如何将此字符串转换回原始格式?

1 个答案:

答案 0 :(得分:0)

首先,我尝试了以下在线条形码阅读器:

这让我觉得你的条形码可能不是很好构建......

这是你的输出:

WHILE @currentrow < @rows
    BEGIN
        SET @currentrow = @currentrow + 1

        SELECT @selectcol = sysid
        FROM @TableVar
        WHERE id = @currentrow

        SELECT @sysid =  @selectcol 

        IF NOT EXISTS (SELECT field_id FROM fields WHERE sys_id = @sysid AND NAME = @field_name)
            BEGIN
                PRINT CAST(@field_name AS VARCHAR) + ' not found in the business area ' + CAST(@sysid AS VARCHAR)
                BREAK
            END
        ELSE
            BEGIN
                CONTINUE
            END
    END

这是来自zxing的那个:

600004|]Iê÷ºÒÆÂA*×ImK\ZÊzjÆÕÐl÷ v[àF~*0
:åf|ùßñE¥Jn/?ð¼>w['XßU7L®çÃÆ[WÛ|-,ã¤DĺjÆ®- nèPÐk^¡±xOS5·Óþßá×D¢\

可能这种差异是由于你身边的复制/粘贴操作)

这是我能找到的匹配:

600004|]I�ê÷ºÒÆÂA*×�ImK\�ZÊzjÆÕÐl÷ v[à�F~*0
�:�åf|�ùßñE¥Jn/?ð�¼>w['�XßU7L®çÃÆ�[WÛ|-,�ã¤D�ĺjÆ®- nè�PÐk^¡±xOS5·Óþ�ßá×D¢\���¥ö�>¡¡ôQJÄ��Â[º�ED+³Â[º�ED+³Â[º�ED+³Â[º�ED+³Â[º�ED+³Â[º�ED+³���u�û

似乎是一些Unicode UCS-2编码。

在此之后,我无法解释输出和预期的十六进制值之间的区别