本公開涉及電子領(lǐng)域,具體地,涉及一種磁條卡數(shù)據(jù)讀取方法和裝置。
背景技術(shù):
現(xiàn)有技術(shù)中,對于磁條卡信息的讀取,通常包括讀取數(shù)據(jù),解碼字符,校驗字符等步驟,校驗通過后,才能得到有效的磁條卡信息。在使用協(xié)處理器來讀取這類磁條卡信息時,由于協(xié)處理器的主頻通常為30M至60M,而需要處理的步驟過多,因此讀取效率不高。
技術(shù)實現(xiàn)要素:
本公開的目的是提供一種磁條卡數(shù)據(jù)讀取方法,該方法能夠提高磁條卡數(shù)據(jù)讀取的效率。
為了實現(xiàn)上述目的,本公開提供一種磁條卡數(shù)據(jù)讀取方法,該方法包括:
讀取所述磁條卡的磁道數(shù)據(jù);
按照第一預設規(guī)則對讀取的磁道數(shù)據(jù)中的各個字的數(shù)據(jù)比特進行轉(zhuǎn)換,得到各個字的轉(zhuǎn)換后數(shù)據(jù)比特;
依據(jù)預設對應關(guān)系獲取各個字的轉(zhuǎn)換后數(shù)據(jù)比特所對應的字符,來對各個字進行解碼。
可選的,所述第一預設規(guī)則包括:將各個字的鏡像位置的數(shù)據(jù)比特互換位置。
可選的,各個字的轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符被存儲在解碼表中。
可選的,該方法還包括:
在依據(jù)所述預設對應關(guān)系獲取到的字符是無效字符時,提示讀取錯誤。
本公開還提供一種磁條卡數(shù)據(jù)讀取裝置,該裝置包括:
讀取模塊,用于讀取所述磁條卡的磁道數(shù)據(jù);
轉(zhuǎn)換模塊,用于按照第一預設規(guī)則對讀取的磁道數(shù)據(jù)中的各個字的數(shù)據(jù)比特進行轉(zhuǎn)換,得到各個字的轉(zhuǎn)換后數(shù)據(jù)比特;
解碼模塊,用于依據(jù)預設對應關(guān)系獲取各個字的轉(zhuǎn)換后數(shù)據(jù)比特所對應的字符,來對各個字進行解碼。
可選的,所述轉(zhuǎn)換模塊還用于將各個字的鏡像位置的數(shù)據(jù)比特互換位置,來對所述讀取模塊讀取的磁道數(shù)據(jù)中的各個字的數(shù)據(jù)比特進行轉(zhuǎn)換,得到各個字的轉(zhuǎn)換后數(shù)據(jù)比特。
可選的,所述各個字的轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符被存儲在解碼表中。
可選的,所述裝置還包括:
報錯模塊,用于在所述解碼模塊依據(jù)所述預設對應關(guān)系獲取到的字符是無效字符時,提示讀取錯誤。
通過上述技術(shù)方案,在讀取所述磁條卡的磁道數(shù)據(jù)之后,按照第一預設規(guī)則對讀取的磁道數(shù)據(jù)中的各個字的數(shù)據(jù)比特進行轉(zhuǎn)換,得到各個字的轉(zhuǎn)換后數(shù)據(jù)比特,然后依據(jù)預設對應關(guān)系獲取各個字的轉(zhuǎn)換后數(shù)據(jù)比特所對應的字符,來對各個字進行解碼,這樣能夠直接從讀取到的磁條卡的數(shù)據(jù)得到所述磁條卡攜帶的實際字符數(shù)據(jù),不需要像現(xiàn)有技術(shù)那樣執(zhí)行校驗字符的步驟,從而能夠提高磁條卡數(shù)據(jù)讀取的效率。
本公開的其他特征和優(yōu)點將在隨后的具體實施方式部分予以詳細說明。
附圖說明
附圖是用來提供對本公開的進一步理解,并且構(gòu)成說明書的一部分,與下面的具體實施方式一起用于解釋本公開,但并不構(gòu)成對本公開的限制。在附圖中:
圖1是根據(jù)本公開一種實施方式提供的磁條卡數(shù)據(jù)讀取方法的流程圖。
圖2是根據(jù)本公開又一種實施方式提供的磁條卡數(shù)據(jù)讀取方法的流程圖。
圖3是根據(jù)本公開一種實施方式提供的磁條卡數(shù)據(jù)讀取裝置的示意框圖。
圖4是根據(jù)本公開又一種實施方式提供的磁條卡數(shù)據(jù)讀取裝置的示意框圖。
附圖標記說明
100磁條卡數(shù)據(jù)讀取裝置 10讀取模塊
20轉(zhuǎn)換模塊 30解碼模塊
40報錯模塊
具體實施方式
以下結(jié)合附圖對本公開的具體實施方式進行詳細說明。應當理解的是,此處所描述的具體實施方式僅用于說明和解釋本公開,并不用于限制本公開。
圖1是根據(jù)本公開一種實施方式提供的磁條卡數(shù)據(jù)讀取方法的流程圖。如圖1所示,該方法包括步驟S101至步驟S103。
在步驟S101中,讀取所述磁條卡的磁道數(shù)據(jù)。
常規(guī)的磁條卡有三條磁道,每條磁道上都能夠攜帶一定數(shù)量的數(shù)據(jù),在本步驟中,讀取的所述磁條卡的磁道數(shù)據(jù)是所述磁條卡上的所有攜帶了數(shù)據(jù)的磁道上的所有數(shù)據(jù)。
在步驟S102中,按照第一預設規(guī)則對讀取的磁道數(shù)據(jù)中的各個字的數(shù)據(jù)比特進行轉(zhuǎn)換,得到各個字的轉(zhuǎn)換后數(shù)據(jù)比特。
不同的磁道中,對于一個字的數(shù)據(jù)比特大小也有略微區(qū)別。例如在第一磁道中,一個字通常由7個數(shù)據(jù)比特構(gòu)成,其中有6個數(shù)據(jù)比特位和1個校驗位,而在第二磁道中,一個字通常由5個數(shù)據(jù)比特構(gòu)成,其中有4個數(shù)據(jù)比特位和1個校驗位。因此對于不同的磁道,在對磁道中的字進行數(shù)據(jù)比特轉(zhuǎn)換時是以該磁道中的一個字為單位來進行轉(zhuǎn)換的。轉(zhuǎn)換后的數(shù)據(jù)比特也是以該磁道中的一個字為單位。
在步驟S103中,依據(jù)預設對應關(guān)系獲取各個字的轉(zhuǎn)換后數(shù)據(jù)比特所對應的字符,來對各個字進行解碼。
經(jīng)過步驟S102的轉(zhuǎn)換,每個字都得到了一個對應單位的轉(zhuǎn)換后的數(shù)據(jù)比特,通過查找預設的對應關(guān)系,能夠根據(jù)所述轉(zhuǎn)換后的數(shù)據(jù)比特得到與之對應的字符,從而來對各個字進行解碼。
通過上述技術(shù)方案,在讀取所述磁條卡的磁道數(shù)據(jù)之后,按照第一預設規(guī)則對讀取的磁道數(shù)據(jù)中的各個字的數(shù)據(jù)比特進行轉(zhuǎn)換,得到各個字的轉(zhuǎn)換后數(shù)據(jù)比特,然后依據(jù)預設對應關(guān)系獲取各個字的轉(zhuǎn)換后數(shù)據(jù)比特所對應的字符,來對各個字進行解碼,這樣能夠直接從讀取到的磁條卡的數(shù)據(jù)得到所述磁條卡攜帶的實際字符數(shù)據(jù),不需要像現(xiàn)有技術(shù)那樣執(zhí)行校驗字符的步驟,從而能夠提高磁條卡數(shù)據(jù)讀取的效率。
在一種可能的實施方式中,所述第一預設規(guī)則包括:將各個字的鏡像位置的數(shù)據(jù)比特互換位置。
例如,在第二磁道中,每個字由5個數(shù)據(jù)比特構(gòu)成,將第二磁道中的字的鏡像位置的數(shù)據(jù)比特互換位置時即將第1位的數(shù)據(jù)比特與第5位的數(shù)據(jù)比特互換位置,將第2位的數(shù)據(jù)比特與第4位的數(shù)據(jù)比特互換位置,第3位的數(shù)據(jù)比特位置不移動。
通過上述的技術(shù)方案,通過將各個字的鏡像位置的數(shù)據(jù)比特互換位置來對讀取的磁道數(shù)據(jù)中的各個字的數(shù)據(jù)比特進行轉(zhuǎn)換,得到各個字的轉(zhuǎn)換后數(shù)據(jù)比特,提供了一種具體的轉(zhuǎn)換方法。
在一種可能的實施方式中,各個字的轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符被存儲在解碼表中。
所述解碼表在讀取所述磁條卡的磁道數(shù)據(jù)之前已經(jīng)預設好,是一張記載轉(zhuǎn)換后的數(shù)據(jù)比特與解碼后的字符之間的預設對應關(guān)系的表。該解碼表中包含了各個字的轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符,以及讀取出現(xiàn)錯誤時各個字的轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符。
例如,以第二磁道為例。在第二磁道中,每個字由5個數(shù)據(jù)比特構(gòu)成,每個字的轉(zhuǎn)換后數(shù)據(jù)比特也是由5個數(shù)據(jù)比特構(gòu)成,每一位數(shù)據(jù)比特只能取0或1,因此所述轉(zhuǎn)換后數(shù)據(jù)比特的可能值有從0x0到0x1F一共32種可能值,則解碼表中就應該有從0x0到0x1F一共32種轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符,如表1所示。
表1
其中,第二磁道中能夠攜帶的正確的字集如表2所示,共有16個,因此各個字的轉(zhuǎn)換后數(shù)據(jù)比特也有16種。這樣,所述解碼表中就有16個讀取正確的字的轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符,以及剩余16個在讀取出現(xiàn)錯誤的情況下的字的轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符,其中,表1中與在讀取出現(xiàn)錯誤的情況下的字的轉(zhuǎn)換后數(shù)據(jù)比特相對應的字符X也可以為其他第二磁道中不能攜帶的字符,例如A、Z等。
表2
當然,所述解碼表中除了該解碼表所在磁道能夠攜帶的正確的字集中的所有字的轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符外,對于可能出現(xiàn)的讀取出錯的情況下的轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符不做限制,所述解碼表中可以包含所有可能的讀取出錯情況下的轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符,也可以包含部分可能的讀取出錯情況下的轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符。
通過上述技術(shù)方案,將所述轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符存儲在解碼表中就能夠快速查找轉(zhuǎn)換后數(shù)據(jù)比特和與其對應的字符,有利于提高磁條卡數(shù)據(jù)讀取效率。
圖2是根據(jù)本公開又一種實施方式提供的磁條卡數(shù)據(jù)讀取方法的流程圖。如圖2所示,該方法中包括圖1中的步驟S101至步驟S103,還包括步驟S201。
在步驟S201中,在依據(jù)所述預設對應關(guān)系獲取到的字符是無效字符時,提示讀取錯誤。
由于在磁條卡數(shù)據(jù)的讀取過程中可能出現(xiàn)讀取出錯的情況,在這種情況下,數(shù)據(jù)比特出錯的字,其轉(zhuǎn)換后數(shù)據(jù)比特也相應發(fā)生改變,此時改變后的轉(zhuǎn)換后數(shù)據(jù)比特所對應的字符即為無效字符(例如,上述表1中的字符X),此時提示讀取錯誤。
通過上述技術(shù)方案,在磁條卡數(shù)據(jù)讀取出現(xiàn)錯誤時,能夠在依據(jù)所述預設對應關(guān)系獲取到的字符是無效字符時識別并提示讀取錯誤,這樣就為磁條卡數(shù)據(jù)讀取建立了一個報錯機制。
以第一預設規(guī)則是將各個字的鏡像位置的數(shù)據(jù)比特互換位置為例,如表2所示,在表2中,字“=”的數(shù)據(jù)比特是1011加校驗位0,在正確讀取的情況下,經(jīng)過轉(zhuǎn)換的轉(zhuǎn)換后數(shù)據(jù)比特為01101,因此在解碼表表1中可以找到轉(zhuǎn)換后數(shù)據(jù)比特01101和與其對應的字符“=”,這樣就完成了單字的解碼過程。在讀取過程中出現(xiàn)錯誤的情況下,如果將字“=”的數(shù)據(jù)比特1011中的第1位誤讀成為0,那么根據(jù)讀取的數(shù)據(jù),經(jīng)過轉(zhuǎn)換的轉(zhuǎn)換后數(shù)據(jù)比特就變成了01100,而在解碼表表1中,所述值為01100的轉(zhuǎn)換后數(shù)據(jù)比特對應的字符為X,即為預設的無效字符,從而能夠準確報錯。
圖3是根據(jù)本公開一種實施方式提供的磁條卡數(shù)據(jù)讀取裝置100的示意框圖。如圖3所示,該裝置100包括:
讀取模塊10,用于讀取所述磁條卡的磁道數(shù)據(jù);
轉(zhuǎn)換模塊20,用于按照第一預設規(guī)則對讀取的磁道數(shù)據(jù)中的各個字的數(shù)據(jù)比特進行轉(zhuǎn)換,得到各個字的轉(zhuǎn)換后數(shù)據(jù)比特;
解碼模塊30,用于依據(jù)預設對應關(guān)系獲取各個字的轉(zhuǎn)換后數(shù)據(jù)比特所對應的字符,來對各個字進行解碼。
通過上述技術(shù)方案,在讀取模塊10讀取所述磁條卡的磁道數(shù)據(jù)之后,轉(zhuǎn)換模塊20按照第一預設規(guī)則對讀取的磁道數(shù)據(jù)中的各個字的數(shù)據(jù)比特進行轉(zhuǎn)換,得到各個字的轉(zhuǎn)換后數(shù)據(jù)比特,然后解碼模塊30依據(jù)預設對應關(guān)系獲取各個字的轉(zhuǎn)換后數(shù)據(jù)比特所對應的字符,來對各個字進行解碼,這樣能夠直接從讀取到的磁條卡的數(shù)據(jù)得到所述磁條卡攜帶的實際字符數(shù)據(jù),不需要像現(xiàn)有技術(shù)那樣執(zhí)行校驗字符的步驟,從而能夠提高磁條卡數(shù)據(jù)讀取的效率。
在一種可能的實施方式中,所述轉(zhuǎn)換模塊20還用于將各個字的鏡像位置的數(shù)據(jù)比特互換位置,來對所述讀取模塊讀取的磁道數(shù)據(jù)中的各個字的數(shù)據(jù)比特進行轉(zhuǎn)換,得到各個字的轉(zhuǎn)換后數(shù)據(jù)比特。
在一種可能的實施方式中,所述各個字的轉(zhuǎn)換后數(shù)據(jù)比特與其對應的字符被存儲在解碼表中。
圖4是根據(jù)本公開又一種實施方式提供的磁條卡數(shù)據(jù)讀取裝置的示意框圖。如圖4所示,該裝置100還包括:
報錯模塊40,用于在所述解碼模塊依據(jù)所述預設對應關(guān)系獲取到的字符是無效字符時,提示讀取錯誤。
通過上述技術(shù)方案,在磁條卡數(shù)據(jù)讀取出現(xiàn)錯誤時,報錯模塊40能夠在依據(jù)所述預設對應關(guān)系獲取到的字符是無效字符時識別并提示讀取錯誤,這樣就為磁條卡數(shù)據(jù)讀取建立了一個報錯機制。
通過上述技術(shù)方案,在讀取所述磁條卡的磁道數(shù)據(jù)之后,按照第一預設規(guī)則對讀取的磁道數(shù)據(jù)中的各個字的數(shù)據(jù)比特進行轉(zhuǎn)換,得到各個字的轉(zhuǎn)換后數(shù)據(jù)比特,然后依據(jù)預設對應關(guān)系獲取各個字的轉(zhuǎn)換后數(shù)據(jù)比特所對應的字符,來對各個字進行解碼,這樣能夠直接從讀取到的磁條卡的數(shù)據(jù)得到所述磁條卡攜帶的實際字符數(shù)據(jù),從而提高磁條卡數(shù)據(jù)讀取的效率。
以上結(jié)合附圖詳細描述了本公開的優(yōu)選實施方式,但是,本公開并不限于上述實施方式中的具體細節(jié),在本公開的技術(shù)構(gòu)思范圍內(nèi),可以對本公開的技術(shù)方案進行多種簡單變型,這些簡單變型均屬于本公開的保護范圍。
另外需要說明的是,在上述具體實施方式中所描述的各個具體技術(shù)特征,在不矛盾的情況下,可以通過任何合適的方式進行組合。為了避免不必要的重復,本公開對各種可能的組合方式不再另行說明。
此外,本公開的各種不同的實施方式之間也可以進行任意組合,只要其不違背本公開的思想,其同樣應當視為本公開所公開的內(nèi)容。