吳俊杰
密碼是一種信息之間保密或者有待探究或?qū)W習(xí)的對應(yīng)關(guān)系。在信息社會,從將英文數(shù)字和字母輸入計算機的ASCⅡ編碼到目前廣為使用的條形碼和二維碼,編碼無處不在,一般的消費者只是這一系列方便應(yīng)用的受益者,很少去思考其背后的科學(xué)性和合理性。而信息技術(shù)實驗的目的是讓學(xué)生通過數(shù)據(jù)探究的形式去發(fā)現(xiàn)信息技術(shù)核心過程的內(nèi)在規(guī)律,并且將這種方法應(yīng)用在任何一個感興趣的領(lǐng)域。生活中處處可見的條形碼背后的規(guī)律的探究過程,可視為信息技術(shù)實驗的一個典型案例。
● 認(rèn)識條形碼
在百度中搜索條形碼生成器,我們發(fā)現(xiàn)其使用起來很簡單,輸入要轉(zhuǎn)化為條形碼的數(shù)字,系統(tǒng)就會按照一種對應(yīng)關(guān)系生成一張圖片(如圖1)。
乍一看雜亂無章,仔細(xì)觀察就會發(fā)現(xiàn)其中黑色的條紋只有兩種:寬的和窄的。但是人眼很難區(qū)分寬窄的條紋之間的規(guī)律,那么我們就需要用比較系統(tǒng)的研究方法來探究其背后的規(guī)律。
● 尋找穩(wěn)定的對應(yīng)關(guān)系
作為一種編碼方式將數(shù)字和寬窄條紋的組合對應(yīng)起來,其中一定存在穩(wěn)定的對應(yīng)關(guān)系,即字符1和其對應(yīng)圖案是一定的,而且我們能夠猜想出字符11對應(yīng)的圖案長度一定比數(shù)字1的要長,甚至有可能是數(shù)字1圖案長度的2倍。那么下表列出的圖案是否具備猜想的對應(yīng)關(guān)系呢?
很顯然字符1和字符11的圖案長度不是2倍的關(guān)系,但是我們觀察字符1111圖案的中心部分,似乎存在某種周期性的關(guān)系。因此,我們有必要對條形碼的數(shù)據(jù)進行進一步的挖掘。
首先將字符1到字符1111111的7組條形碼導(dǎo)入到Scratch中,系統(tǒng)會自動記錄每張圖片的長和寬(如圖2)。
我們將長度信息錄入到Excel中,發(fā)現(xiàn)字符數(shù)目和條碼長度存在明顯的線性關(guān)系(如圖3)。
對擬合的公式的探究更有意義,26代表著每個字符所代表的圖案的寬度,而52則代表著當(dāng)沒有字符的時候,二維碼有一個固定的長度是52,有趣的是52剛好是26的2倍,這意味著在二維碼的頭部有一個字符,尾部也有一個字符,結(jié)合對上面表格的觀察,我們發(fā)現(xiàn)確實頭部和尾部是一致的。也就是說一個10個數(shù)字構(gòu)成的條形碼的圖片,它的寬度應(yīng)該恰好為(10+2)×26=312像素。這些規(guī)律給了我們很大的鼓舞,根據(jù)數(shù)據(jù)全記錄的方法,我們試圖將二維碼的圖片的信息全部記錄下來,以進行下一步的挖掘。
● 數(shù)據(jù)的全記錄
新建一個寬高為一個像素的紅點,命名為“探針”,并將字符111的二維碼所對應(yīng)的角色1的造型中心設(shè)定為最左側(cè)的黑色區(qū)域,使用圖4的代碼,可以將二維碼圖片解析成一個鏈表,完成數(shù)據(jù)的全記錄。
為了檢測數(shù)據(jù)記錄結(jié)果,我們新建一個角色“還原”是一條1個像素寬的豎線,有黑色和白色兩個造型。使用圖5的代碼在原來的111條形碼圖片的上方還原成一條跟原始圖案一致的條形碼,這說明數(shù)據(jù)的全記錄完成,并且沒有遺漏和損失。
● 條形碼的解離
之前我們觀察到條形碼111的中央部分存在一定的周期性,但是因條件所限不容易將這種周期性直觀地表現(xiàn)出來。圖6所示的程序改進了之前條形碼還原的結(jié)構(gòu)并將其直觀地表現(xiàn)出來。
最后我們回到數(shù)字的表示上來,分析字符串0123456789的條形碼圖案,找到了數(shù)字0~9的對應(yīng)二維碼圖案(如圖7)。
至此,我們已經(jīng)完全了解了條形碼的制作原理,那么很容易就能編寫一個軟件,只需要對鏈表“亮度解析0和1”做進一步分析,就可以輸入任意一串?dāng)?shù)字,生成一個可以被識別的條形碼。但是,這就像“山寨”或者“逆向工程”一樣,我們知道一個螺絲要生產(chǎn)成什么樣子,可我們不知道它為什么要生產(chǎn)成這個樣子。因此,探究條形碼背后的編碼規(guī)則才剛剛開始,但是所幸的是,我們掌握了信息技術(shù)實驗的一般方法:尋找穩(wěn)定的對應(yīng)關(guān)系、數(shù)據(jù)全記錄、數(shù)據(jù)可視化。那么下一步就是找到編碼規(guī)則,并且思考它的合理性,甚至有所創(chuàng)新,并且分享出去,這種做法才是我們期待的“新山寨”。endprint
密碼是一種信息之間保密或者有待探究或?qū)W習(xí)的對應(yīng)關(guān)系。在信息社會,從將英文數(shù)字和字母輸入計算機的ASCⅡ編碼到目前廣為使用的條形碼和二維碼,編碼無處不在,一般的消費者只是這一系列方便應(yīng)用的受益者,很少去思考其背后的科學(xué)性和合理性。而信息技術(shù)實驗的目的是讓學(xué)生通過數(shù)據(jù)探究的形式去發(fā)現(xiàn)信息技術(shù)核心過程的內(nèi)在規(guī)律,并且將這種方法應(yīng)用在任何一個感興趣的領(lǐng)域。生活中處處可見的條形碼背后的規(guī)律的探究過程,可視為信息技術(shù)實驗的一個典型案例。
● 認(rèn)識條形碼
在百度中搜索條形碼生成器,我們發(fā)現(xiàn)其使用起來很簡單,輸入要轉(zhuǎn)化為條形碼的數(shù)字,系統(tǒng)就會按照一種對應(yīng)關(guān)系生成一張圖片(如圖1)。
乍一看雜亂無章,仔細(xì)觀察就會發(fā)現(xiàn)其中黑色的條紋只有兩種:寬的和窄的。但是人眼很難區(qū)分寬窄的條紋之間的規(guī)律,那么我們就需要用比較系統(tǒng)的研究方法來探究其背后的規(guī)律。
● 尋找穩(wěn)定的對應(yīng)關(guān)系
作為一種編碼方式將數(shù)字和寬窄條紋的組合對應(yīng)起來,其中一定存在穩(wěn)定的對應(yīng)關(guān)系,即字符1和其對應(yīng)圖案是一定的,而且我們能夠猜想出字符11對應(yīng)的圖案長度一定比數(shù)字1的要長,甚至有可能是數(shù)字1圖案長度的2倍。那么下表列出的圖案是否具備猜想的對應(yīng)關(guān)系呢?
很顯然字符1和字符11的圖案長度不是2倍的關(guān)系,但是我們觀察字符1111圖案的中心部分,似乎存在某種周期性的關(guān)系。因此,我們有必要對條形碼的數(shù)據(jù)進行進一步的挖掘。
首先將字符1到字符1111111的7組條形碼導(dǎo)入到Scratch中,系統(tǒng)會自動記錄每張圖片的長和寬(如圖2)。
我們將長度信息錄入到Excel中,發(fā)現(xiàn)字符數(shù)目和條碼長度存在明顯的線性關(guān)系(如圖3)。
對擬合的公式的探究更有意義,26代表著每個字符所代表的圖案的寬度,而52則代表著當(dāng)沒有字符的時候,二維碼有一個固定的長度是52,有趣的是52剛好是26的2倍,這意味著在二維碼的頭部有一個字符,尾部也有一個字符,結(jié)合對上面表格的觀察,我們發(fā)現(xiàn)確實頭部和尾部是一致的。也就是說一個10個數(shù)字構(gòu)成的條形碼的圖片,它的寬度應(yīng)該恰好為(10+2)×26=312像素。這些規(guī)律給了我們很大的鼓舞,根據(jù)數(shù)據(jù)全記錄的方法,我們試圖將二維碼的圖片的信息全部記錄下來,以進行下一步的挖掘。
● 數(shù)據(jù)的全記錄
新建一個寬高為一個像素的紅點,命名為“探針”,并將字符111的二維碼所對應(yīng)的角色1的造型中心設(shè)定為最左側(cè)的黑色區(qū)域,使用圖4的代碼,可以將二維碼圖片解析成一個鏈表,完成數(shù)據(jù)的全記錄。
為了檢測數(shù)據(jù)記錄結(jié)果,我們新建一個角色“還原”是一條1個像素寬的豎線,有黑色和白色兩個造型。使用圖5的代碼在原來的111條形碼圖片的上方還原成一條跟原始圖案一致的條形碼,這說明數(shù)據(jù)的全記錄完成,并且沒有遺漏和損失。
● 條形碼的解離
之前我們觀察到條形碼111的中央部分存在一定的周期性,但是因條件所限不容易將這種周期性直觀地表現(xiàn)出來。圖6所示的程序改進了之前條形碼還原的結(jié)構(gòu)并將其直觀地表現(xiàn)出來。
最后我們回到數(shù)字的表示上來,分析字符串0123456789的條形碼圖案,找到了數(shù)字0~9的對應(yīng)二維碼圖案(如圖7)。
至此,我們已經(jīng)完全了解了條形碼的制作原理,那么很容易就能編寫一個軟件,只需要對鏈表“亮度解析0和1”做進一步分析,就可以輸入任意一串?dāng)?shù)字,生成一個可以被識別的條形碼。但是,這就像“山寨”或者“逆向工程”一樣,我們知道一個螺絲要生產(chǎn)成什么樣子,可我們不知道它為什么要生產(chǎn)成這個樣子。因此,探究條形碼背后的編碼規(guī)則才剛剛開始,但是所幸的是,我們掌握了信息技術(shù)實驗的一般方法:尋找穩(wěn)定的對應(yīng)關(guān)系、數(shù)據(jù)全記錄、數(shù)據(jù)可視化。那么下一步就是找到編碼規(guī)則,并且思考它的合理性,甚至有所創(chuàng)新,并且分享出去,這種做法才是我們期待的“新山寨”。endprint
密碼是一種信息之間保密或者有待探究或?qū)W習(xí)的對應(yīng)關(guān)系。在信息社會,從將英文數(shù)字和字母輸入計算機的ASCⅡ編碼到目前廣為使用的條形碼和二維碼,編碼無處不在,一般的消費者只是這一系列方便應(yīng)用的受益者,很少去思考其背后的科學(xué)性和合理性。而信息技術(shù)實驗的目的是讓學(xué)生通過數(shù)據(jù)探究的形式去發(fā)現(xiàn)信息技術(shù)核心過程的內(nèi)在規(guī)律,并且將這種方法應(yīng)用在任何一個感興趣的領(lǐng)域。生活中處處可見的條形碼背后的規(guī)律的探究過程,可視為信息技術(shù)實驗的一個典型案例。
● 認(rèn)識條形碼
在百度中搜索條形碼生成器,我們發(fā)現(xiàn)其使用起來很簡單,輸入要轉(zhuǎn)化為條形碼的數(shù)字,系統(tǒng)就會按照一種對應(yīng)關(guān)系生成一張圖片(如圖1)。
乍一看雜亂無章,仔細(xì)觀察就會發(fā)現(xiàn)其中黑色的條紋只有兩種:寬的和窄的。但是人眼很難區(qū)分寬窄的條紋之間的規(guī)律,那么我們就需要用比較系統(tǒng)的研究方法來探究其背后的規(guī)律。
● 尋找穩(wěn)定的對應(yīng)關(guān)系
作為一種編碼方式將數(shù)字和寬窄條紋的組合對應(yīng)起來,其中一定存在穩(wěn)定的對應(yīng)關(guān)系,即字符1和其對應(yīng)圖案是一定的,而且我們能夠猜想出字符11對應(yīng)的圖案長度一定比數(shù)字1的要長,甚至有可能是數(shù)字1圖案長度的2倍。那么下表列出的圖案是否具備猜想的對應(yīng)關(guān)系呢?
很顯然字符1和字符11的圖案長度不是2倍的關(guān)系,但是我們觀察字符1111圖案的中心部分,似乎存在某種周期性的關(guān)系。因此,我們有必要對條形碼的數(shù)據(jù)進行進一步的挖掘。
首先將字符1到字符1111111的7組條形碼導(dǎo)入到Scratch中,系統(tǒng)會自動記錄每張圖片的長和寬(如圖2)。
我們將長度信息錄入到Excel中,發(fā)現(xiàn)字符數(shù)目和條碼長度存在明顯的線性關(guān)系(如圖3)。
對擬合的公式的探究更有意義,26代表著每個字符所代表的圖案的寬度,而52則代表著當(dāng)沒有字符的時候,二維碼有一個固定的長度是52,有趣的是52剛好是26的2倍,這意味著在二維碼的頭部有一個字符,尾部也有一個字符,結(jié)合對上面表格的觀察,我們發(fā)現(xiàn)確實頭部和尾部是一致的。也就是說一個10個數(shù)字構(gòu)成的條形碼的圖片,它的寬度應(yīng)該恰好為(10+2)×26=312像素。這些規(guī)律給了我們很大的鼓舞,根據(jù)數(shù)據(jù)全記錄的方法,我們試圖將二維碼的圖片的信息全部記錄下來,以進行下一步的挖掘。
● 數(shù)據(jù)的全記錄
新建一個寬高為一個像素的紅點,命名為“探針”,并將字符111的二維碼所對應(yīng)的角色1的造型中心設(shè)定為最左側(cè)的黑色區(qū)域,使用圖4的代碼,可以將二維碼圖片解析成一個鏈表,完成數(shù)據(jù)的全記錄。
為了檢測數(shù)據(jù)記錄結(jié)果,我們新建一個角色“還原”是一條1個像素寬的豎線,有黑色和白色兩個造型。使用圖5的代碼在原來的111條形碼圖片的上方還原成一條跟原始圖案一致的條形碼,這說明數(shù)據(jù)的全記錄完成,并且沒有遺漏和損失。
● 條形碼的解離
之前我們觀察到條形碼111的中央部分存在一定的周期性,但是因條件所限不容易將這種周期性直觀地表現(xiàn)出來。圖6所示的程序改進了之前條形碼還原的結(jié)構(gòu)并將其直觀地表現(xiàn)出來。
最后我們回到數(shù)字的表示上來,分析字符串0123456789的條形碼圖案,找到了數(shù)字0~9的對應(yīng)二維碼圖案(如圖7)。
至此,我們已經(jīng)完全了解了條形碼的制作原理,那么很容易就能編寫一個軟件,只需要對鏈表“亮度解析0和1”做進一步分析,就可以輸入任意一串?dāng)?shù)字,生成一個可以被識別的條形碼。但是,這就像“山寨”或者“逆向工程”一樣,我們知道一個螺絲要生產(chǎn)成什么樣子,可我們不知道它為什么要生產(chǎn)成這個樣子。因此,探究條形碼背后的編碼規(guī)則才剛剛開始,但是所幸的是,我們掌握了信息技術(shù)實驗的一般方法:尋找穩(wěn)定的對應(yīng)關(guān)系、數(shù)據(jù)全記錄、數(shù)據(jù)可視化。那么下一步就是找到編碼規(guī)則,并且思考它的合理性,甚至有所創(chuàng)新,并且分享出去,這種做法才是我們期待的“新山寨”。endprint