NBT(二進制命名標籤)

本詞條是多義詞,共3個義項
更多義項 ▼ 收起列表 ▲

我的世界二進制命名標籤(Name Binary Tag),NBT格式為Minecraft中用於向檔案中存儲數據的一種存儲格式。NBT格式以樹形結構並配以許多標籤的形式存儲數據。所有的標籤都有一個獨立的ID和名稱。最初的版本如Minecraft Beta1.3中所示為19132個標籤,但是隨著鐵砧的引入,增加了一個整形指針變數,標籤數量增加至19133個。在NBT格式最初在Minecraft Indev的版本中只有0到10這11個標籤可用。

基本介紹

  • 中文名:二進制命名標籤
  • 外文名:Name Binary Tag
NBT的作用,NBT的定義,

NBT的作用

NBT在物品中就有,是數據標籤的一種,通過修改物品的NBT可以自定義物品的傷害、耐久等。

NBT的定義

每一個標籤在數據樹中都是一個獨立的部分。標籤的第一個位元組為標籤類型(ID),其後兩位元組為存儲名稱的長度,之後以UTF-8格式的字元串的方式存儲標籤。儘管在默認的情況下Minecraft本身並不會存儲帶有空格的名稱,但是標籤名稱可以包含空格。最後,取決於標籤的類型,之後的位元組為該標籤的輔助信息。下表所示為在19133標籤版本中二進制命名標籤格式中所有12個已知的標籤類型:
ID圖示標籤類型輔助信息描述
0
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可以包含不同類型的數據。

相關詞條

熱門詞條

聯絡我們