共找到3條詞條名為NBT的結果 展開
- 自然生物學技術
- 1985年在曼谷開播的頻道
- 二進位命名標籤
NBT
二進位命名標籤
我的世界二進位命名標籤(Name Binary Tag),NBT格式為Minecraft中用於向文件中存儲數據的一種存儲格式。NBT格式以樹形結構並配以許多標籤的形式存儲數據。所有的標籤都有一個獨立的ID和名稱。最初的版本如Minecraft Beta1.3中所示為19132個標籤,但是隨著鐵砧的引入,增加了一個整形指針變數,標籤數量增加至19133個。在NBT格式最初在Minecraft Indev的版本中只有0到10這11個標籤可用。
NBT在物品中就有,是數據標籤的一種,通過修改物品的NBT可以自定義物品的傷害、耐久等。
每一個標籤在數據樹中都是一個獨立的部分。標籤的第一個位元組為標籤類型(ID),其後兩位元組為存儲名稱的長度,之後以UTF-8格式的字元串的方式存儲標籤。儘管在默認的情況下Minecraft本身並不會存儲帶有空格的名稱,但是標籤名稱可以包含空格。最後,取決於標籤的類型,之後的位元組為該標籤的輔助信息。下表所示為在19133標籤版本中二進位命名標籤格式中所有12個已知的標籤類型:
ID | 圖標 | 標籤類型 | 輔助信息 | 描述 |
TAG_End | 無 | 用於標記複合標籤的結尾。本標籤無任何名稱所以只有一個零位元組。 | ||
1 | TAG_Byte | 1位元組 / 8位,有正負 | 有正負的整值數據類型,通常用於布爾表達式。 | |
2 | TAG_Short | 2位元組 / 16位,有正負,位元組序:BE | 有正負的整值數據類型。 | |
3 | TAG_Int | 4 位元組 / 32 位,有正負,位元組序:BE | 有正負的整值數據類型。 | |
4 | TAG_Long | 8 位元組 / 64 位,有正負,位元組序:BE | 有正負的整值數據類型。 | |
5 | TAG_Float | 4 位元組 / 32 位,有正負,位元組序:BE,IEEE 754-2008標準,binary32。 | 有正負的浮點數據類型。 | |
6 | TAG_Double | 8 位元組 / 64 位,有正負,位元組序:BE,IEEE 754-2008標準,binary64。 | 有正負的浮點數據類型。 | |
7 | TAG_Byte_Array | TAG_Int的輔助信息大小以及 TAG_Byte的輔助信息大小。 | 數組。 | |
8 | TAG_String | 前2個位元組(TAG_Short)存儲字元串字元的個數(字元串的長度length).然後存儲UTF-8標準的字元串,沒有'\0'結束符,只是以單純的字元序列的形式存儲. | 一個採用UTF-8標準的字元串,有尺寸限制,也就是說會以空結尾。 | |
9 | TAG_List | 輔助信息的第1個位元組(TAG_Byte)存儲列表標籤類型的ID,接下來的4個位元組(TAG_Int)存儲列表的size,接下來的位元組將存儲size個列表標籤類型的輔助信息。假如第一個位元組是0x08,id是8,對應的標籤是TAG_String,如果size是0x00000004,接下來將會存儲4個TAG_String標籤的輔助信息。列表標籤(既然都說了是列表)存儲的內容都是相同類型的標籤,所以只在第一個位元組表明標籤類型. | 一系列沒有重複標籤ID和標籤名稱的輔助信息。 | |
10 | TAG_Compound | 標籤的完整形式,需要附加TAG_End | 一系列完整的標籤信息,包括ID、名稱以及輔助信息等。任意兩個標籤都不會有相同的名稱。 | |
11 | TAG_Int_Array | 輔助信息前4個位元組(TAG_Int)用於存儲數組的大小size,緊接size*4 位元組(TAG_Int)的數組數據。佔用存儲空間: 4+4*size Byte。 | 存儲TAG_Int的輔助信息的數組。 |
複合標籤的列表常以嵌套遞歸的方式出現。另外還需注意,在一個包含List的List中,每個List可以包含不同類型的數據。