是編碼器還是解碼器?
首先從“物品解碼器”這個廣泛使用的名稱開始,這個名稱的廣泛傳播可能的起源:pallapalla的item type to binary decoder,正確的翻譯就是物品至二進制信號解碼器,小紅和ccs的視頻也使用物品解碼器一詞來稱呼這類機器。這本身也是極為形象的稱呼方法:物品進入機器后,機器輸出了物品本身對應的紅石信息,解碼這個詞就十分生動形象。但國外目前對于含有礦車這一部分的機器習慣于稱為encoder,即編碼器,國內(nèi)也有人由此對于“物品解碼器”稱呼上進行糾正,這其中存在一定的爭議,只不過遲遲沒有統(tǒng)一規(guī)范,但確實有一部分人因此改變了稱呼。同時國外也習慣上將接受上面提到的紅石信息控制對應單片打開(以編碼全物品為例)的部分,稱為decoder,即解碼器,國內(nèi)則習慣把這部分稱為數(shù)控。 對于國外的叫法,相信直覺上都會覺得有那么點奇怪,接下來會對此進行解釋。編碼的官方解釋是:編碼是信息從一種形式或格式轉(zhuǎn)換為另一種形式的過程,(又:將某種信息用規(guī)定的一組代碼來表示的過程)?,F(xiàn)實中,信息→符號是編碼,符號→信息則是解碼,而在Minecraft編碼科技中的符號正是各種類型的信號(模電信號,n進制信號等等)。解碼則是將符號轉(zhuǎn)為它所代表的訊息。
因此,編碼器將物品種類轉(zhuǎn)換為含有對應單片的位置訊息的紅石信號,解碼器解讀紅石信號中的單片位置訊息,構成了編碼→解碼的流程(以編碼全物品為例)。
這么解釋下來,相信大伙就不會覺得encoder+decoder的稱呼奇怪了。此時再回去讀本文第一段,你或許就會對“生動形象”一詞打一個問號了,沒有編碼過程哪來解碼?我之前如此懷疑時是這么說服自己的:往箱子里填物品是編碼過程。但這顯然對編碼一詞進行了曲解。玩家在編碼器的箱子中填充物品的過程,是在進行“將用一組信息規(guī)定的代碼表示”中的規(guī)定步驟,而編碼器則是負責利用規(guī)定的轉(zhuǎn)換法則將輸入轉(zhuǎn)換為輸出。 現(xiàn)實中的編碼器(encoder),是將信號(如比特流)或數(shù)據(jù)進行編制、轉(zhuǎn)換為可用以通訊、傳輸和存儲的信號形式的設備,所以將“物品解碼器”稱為編碼器相當合理。 現(xiàn)實中還有名為codec的編解碼器,這個多見于音視頻領域,名字就表示了它同時具有編碼解碼功能,codec是coder和decoder的合并,coder和encoder都是指編碼器,不過coder現(xiàn)在多用于碼農(nóng)稱呼了,用encoder或許比較好。
上圖為encoder,下圖為decoder(binary)
此時我腦子還產(chǎn)生一個問題,
既然一個全物品包含編解碼過程,那么為何叫編碼全物品不叫編解碼全物品呢?
(這個我語文水平有限解釋不了(劃掉))我們首先看國外,國外對編碼科技的稱呼就是encoded-tech,國內(nèi)也早已習慣于以“編碼___”相稱。但搜遍全網(wǎng)(其實就搜了一會),見到的偏正短語中,編碼一詞用于做定語,后面跟著的中心詞都是規(guī)則,信號,處理,方式等詞語,唯獨咱mc玩家來了個“編碼倉庫”之類的,外文環(huán)境也差不多,可能類似是一種圈子黑話吧。僅在漢語環(huán)境解釋起來,編碼全物品和使用傳統(tǒng)分類器的全物品分類原理上最大的不同,就是我們對物品進行了編碼(在設計時選擇編碼方式就是編碼規(guī)則的確定),由此分類物品,這里,我們肯定不會一上來就說我們對物品進行了解碼,因為解碼的前提是編碼,所以整個科技的核心在于編碼這一過程,而解碼/數(shù)控只是實現(xiàn)目標的一塊拼圖,于是久而久之就習慣上稱呼為編碼全物品了,也可以說,全物品本身不是用來解碼的,編解碼全物品與編碼全物品的稱呼不同在于編解碼有點類似于一種功能上的表述,編碼則是一種原理上的表述,自然大多數(shù)人不會第一時間想用前者這種很容易覺得別扭的稱呼。
作為本文的小結,我想說的是稱呼不需要規(guī)定對錯,我們只需要自行選擇符合自己理解的稱呼就行,至于自己的理解,我個人愿意選擇更合理的理解而非已經(jīng)習慣的/長期以來的理解,所以更改稱呼也就是遵從合理的結果。當然有人會覺得某物的稱呼自然要聽從大家的習慣,這也是可以的。同時,如果沒有國外encoder的稱呼,我也不會去思考國內(nèi)稱呼為何不一樣,這或許反應了一些問題。不過這只是游戲,很少有人會去在意對于別人制造的機器,別人已經(jīng)使用的稱呼是否正確,最重要的還是新的想法,新的機器,新的科技,我不過是對于一個小問題在閑暇之余找到了合理的解釋,并在此寫下而已。 最后,這是一只偉大的pallapalla。