版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1GB/T16263.2—XXXX/ISO/IEC8825-2:2021信息技術(shù)ASN.1編碼規(guī)則第2部分:緊縮編碼規(guī)則(PER)規(guī)范本文件規(guī)定了緊縮編碼規(guī)則集合,它們可以用來為ISO/IEC8824-1中定義的類型值派生傳送語法。這些緊縮編碼規(guī)則也適用于解碼這樣的傳送語法,以便標(biāo)識出被傳送的數(shù)據(jù)值。本文件規(guī)定的編碼規(guī)則:——在通信時(shí)使用;——在選擇編碼規(guī)則時(shí)主要關(guān)心值的最小化表示規(guī)模的場合中使用;——對在GB/T16263.1中描述的所有擴(kuò)展形式,在保留現(xiàn)有值的編碼時(shí),允許通過增加額外值進(jìn)行抽象語法的擴(kuò)展;——可以根據(jù)ISO/IEC8825-6進(jìn)行修改。2規(guī)范性引用文件下列文件中的內(nèi)容通過文中的規(guī)范性引用而構(gòu)成本文件必不可少的條款。其中,注日期的引用文件,僅該日期對應(yīng)的版本適用于本文件;不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。注:本文件基于GB/T13000-2010。不能在該標(biāo)準(zhǔn)的更高版本上使用。上述引用應(yīng)解釋為對已確定的標(biāo)準(zhǔn)及其所有GB/T2311—2000信息技術(shù)字符代碼結(jié)構(gòu)和擴(kuò)充技術(shù)(ISO/IEC2022:1994,IDT)GB13000—2010信息技術(shù)通用多八位編碼字符集(UCS)(ISO/IEC10646:2003,IDT)GB/T16262.1—AAAA8824-1:2021,IDT)GB/T16262.2—BBBB8824-2:2021,IDT)GB/T16262.3—CCCC3:2021,IDT)GB/T16262.4—DDDD8824-4:2021,IDT)GB/T16263.1—EEEE信息技術(shù)抽象語法記法一(ASN.1)第1部分:基本記法規(guī)范(ISO/IEC信息技術(shù)抽象語法記法一(ASN.1)第2部分:信息客體規(guī)范(ISO/IEC信息技術(shù)抽象語法記法一(ASN.1)第3部分:約束規(guī)范(ISO/IEC8824-信息技術(shù)抽象語法記法一(ASN.1)第4部分:ASN.1規(guī)范的參數(shù)化(ISO/IEC信息技術(shù)ASN.1編碼規(guī)則第1部分:基本編碼規(guī)則(BER)、正則編碼規(guī)則(CER)和非典型編碼規(guī)則(DER)的規(guī)范(ISO/IEC8825-1:2021,IDT)SJ/Z9047—1987信息處理信息交換用字符串形式表示數(shù)值的方法(ISO6093:1985,IDT)ISO/IEC646:1991信息技術(shù)信息交換用ISO七位編碼字符集(Informationtechnology–ISO7-bitcodedcharactersetforinformationinterchange)ISO/IEC2375:2003信息技術(shù)轉(zhuǎn)義序列和編碼字符集的登記規(guī)程(Informationtechnology–Procedureforregistrationofescapesequencesandcodedcharactersets)ISO/IEC8825-6:2021信息技術(shù)ASN.l編碼規(guī)則第6部分:PER編碼指令的注冊和應(yīng)用(Informationtechnology—ASN.lencodingrules:RegistrationandapplicationofPERencodinginstructions)2GB/T16263.2—XXXX/ISO/IEC8825-2:2021XXISO結(jié)合轉(zhuǎn)義序列使用的編碼字符集的國際登記簿3術(shù)語和定義下列術(shù)語和定義適用于本文件。3.1基本記法規(guī)范GB/T16262.1界定的所有術(shù)語和定義適用于本文件。3.2信息客體規(guī)范GB/T16262.2界定的所有術(shù)語和定義適用于本文件。3.3約束規(guī)范GB/T16262.3界定的下列術(shù)語和定義適用于本文件:a)組件關(guān)系約束(componentrelationconstraint);b)表約束(tableconstraint)。3.4ASN.1規(guī)范的參數(shù)化GB/T16262.4界定的下列術(shù)語和定義適用于本文件:可變約束(variableconstraint)3.5基本編碼規(guī)則GB/T16263.1界定的下列術(shù)語和定義適用于本文件:a)數(shù)據(jù)值(datavalue);b)動(dòng)態(tài)符合性(dynamicconformance);c)(數(shù)據(jù)值的)編碼(encoding(ofadatavalue));d)接收器(receiver);e)發(fā)送器(sender);f)靜態(tài)符合性(staticconformance)。3.6PER編碼指令本文件使用ISO/IEC8825-6中定義的下列術(shù)語和定義:標(biāo)識關(guān)鍵字(identifyingkeyword)。3.7附加定義下列術(shù)語和定義適用于本文件。3.7.12的補(bǔ)碼的二進(jìn)制整數(shù)編碼2's-complement-binary-integerencoding把整個(gè)數(shù)編碼到指定長度的位字段(在ALIGNED變體中八位位組對齊)中,或者編碼到可接納該整個(gè)數(shù)編碼為2的補(bǔ)碼的整數(shù)的最小數(shù)目的八位位組中,該編碼按照11.4所規(guī)定的等于、大于或小于0的整個(gè)數(shù)提供表示。注1:2的補(bǔ)碼的二進(jìn)制數(shù)的值通過計(jì)數(shù)內(nèi)容八位位組中的位得出,計(jì)數(shù)從最后1個(gè)八位位組的位1開始作為位0,到3GB/T16263.2—XXXX/ISO/IEC8825-2:2021第1個(gè)八位位組的位8結(jié)束。每位賦予一個(gè)2的數(shù)值,這里N是該位在上面計(jì)數(shù)順序中的位置。2的補(bǔ)碼的二進(jìn)制數(shù)的值利用下列方法得出,即累加計(jì)算那些置1的位的數(shù)值,但不包括第1個(gè)八位位組的位8,然后,若第1個(gè)八位位組的位8置為1,則這個(gè)累加值減去賦注2:整個(gè)數(shù)(wholenumber)是數(shù)學(xué)術(shù)語整數(shù)(integer)的同義詞。這里使用它是為了避免與ASN.1的類型整數(shù)3.7.2抽象語法值abstractsyntaxvalue要由PER編碼或由PER解碼生成的抽象語法值(定義為單個(gè)ASN.1類型值的集合)。3.7.3位字段bit-field編碼機(jī)制某一部分的產(chǎn)物,由有序的位集合構(gòu)成,這些位不必是8的倍數(shù)。注:若該術(shù)語的使用后面緊跟“ALIGNED變體中八位位組對齊”,這意味著對PER的對齊變體來說,該位字段要求3.7.4正則編碼canonicalencoding通過應(yīng)用無實(shí)現(xiàn)相關(guān)選項(xiàng)的編碼規(guī)則所得到的抽象語法值的完整編碼,這種規(guī)則導(dǎo)致在傳輸語法中無歧義且唯一的位串和抽象語法中的值之間一對一映射。3.7.5復(fù)合類型compositetype集合、序列、單一集合、單一序列、選擇、嵌入式pdv、外部或者不受限的字符串類型。3.7.6復(fù)合值compositevalue復(fù)合類型的值。3.7.7受約束的整個(gè)數(shù)constrainedwholenumber受PER可視約束所約束的整個(gè)數(shù)處于“l(fā)b”到“ub”的范圍內(nèi),“l(fā)b”的值小于或等于“ub”的值,且“l(fā)b”和“ub”的值是允許的值。注:受約束的整個(gè)數(shù)出現(xiàn)在編碼中,它標(biāo)識以下內(nèi)容:選定的選擇類型的替換項(xiàng);長度已經(jīng)被PER可視約束限制到最大長度的字符、八位位組和位串類型的長度;單一序列或單一集合類型中的組件數(shù)計(jì)數(shù)已經(jīng)被PER可視約束限制為最大組件數(shù)的計(jì)數(shù);已經(jīng)被PER可視約束所約束的處于有限最小值和最大值范圍內(nèi)的整數(shù)類型值;以及3.7.8有效長度約束(受約束字符串類型的)effectivesizeconstraint(foraconstrainedstringtype)4GB/T16263.2—XXXX/ISO/IEC8825-2:2021XX單個(gè)有限長度約束,它可適用于內(nèi)置串類型,并且其效果是允許且只允許全部能被受約束的串類型表示的那些長度。而下面的串類型沒有有效長度約束,因?yàn)槿绻摯话癮”、“b”和“c”外的任何字符,則它可以3.7.9有效允許字母約束(受約束的受限字符串類型的)effectivepermitted-alphabetconstraint(foraconstrainedrestrictedcharacterstringtype)單個(gè)允許字母表約束,它可以適用于內(nèi)置已知倍數(shù)字符串類型,并且其效果是允許且只允許那些能夠出現(xiàn)在某個(gè)受約束的受限字符串類型的值中至少一個(gè)字符位置上的字符。Ax有一個(gè)有效允許字母表約束為“ABCD”,Bx有一個(gè)由整個(gè)IA5String字母表構(gòu)成的有效允許字母表約束,3.7.10枚舉索引enumerationindex“EnumerationItem”按照枚舉值升序的方式進(jìn)行排序來確定,枚舉索引從0開始賦值,0賦值給第1個(gè)“EnumerationItem”,1賦值給第2個(gè),依此類推,直到排序表中的最后一個(gè)“EnumerationItem”。注:“RootEnumeration”中的“EnumerationItem”與“AdditionalEnumeration”中的“EnumerationItem”分3.7.11PER編碼的可擴(kuò)展extensibleforPERencoding一種類型特性,需要PER把值的編碼標(biāo)識為根值的編碼或擴(kuò)展附加部分的編碼。3.7.12字段列表field-list位字段的有序集合,它是把這些編碼規(guī)則應(yīng)用于抽象值產(chǎn)生的結(jié)果。3.7.13不定長度indefinite-length5GB/T16263.2—XXXX/ISO/IEC8825-2:2021其長度大于64K-l或者其最大長度不能由ASN.1記法確定的一種編碼。3.7.14固定長度類型fixed-lengthtype一種類型,該類型編碼的最外層長度決定因子的值可以由類型記法(僅在應(yīng)用PER可視約束之后)來確定(使用本文件規(guī)定的機(jī)制),并且對于該類型的所有可能值而言,該值相同。3.7.15固定值fixedvalue一個(gè)值,它可以確定(用本文件規(guī)定的機(jī)制)支配它的類型的一個(gè)唯一允許值(僅在應(yīng)用PER可視約束之后)。3.7.16已知倍數(shù)字符串類型known-multipliercharacterstringtype一種受限字符串類型,其中,對所有允許字符串值,編碼的八位位組數(shù)是字符串中的字符數(shù)的已NumericString、UniversalString和BMPString。3.7.17長度決定因子lengthdeterminant確定全部或者部分PER編碼長度的(位、八位位組、字符或組件的)計(jì)數(shù)。3.7.18正常小非負(fù)整個(gè)數(shù)normallysmallnon-negativewholenumber編碼的一部分,它表示一個(gè)無邊界非負(fù)整數(shù)的若干值,但是,小值比大值出現(xiàn)的可能性大。3.7.19正常小長度normallysmalllength長度編碼,它表示一個(gè)無邊界長度的若干值,但是,小長度比大長度出現(xiàn)的可能性大。3.7.20非負(fù)二進(jìn)制整數(shù)編碼non-negative-binary-integer-encoding受約束或半受約束的整個(gè)數(shù)的編碼,該整個(gè)數(shù)可編碼到指定長度的位字段中、或編碼到指定長度的位字段(ALIGNED變體中的八位位組對齊)中、或者編碼到最小數(shù)目的八位位組中,該八位位組將容納非負(fù)二進(jìn)制整數(shù)的整個(gè)數(shù),而非負(fù)二進(jìn)制整數(shù)為11.3規(guī)定的大于或等于0的整個(gè)數(shù)提供了表示。注:非負(fù)二進(jìn)制數(shù)的值通過計(jì)數(shù)內(nèi)容八位位組中的位得出,計(jì)數(shù)從最后一個(gè)八位位組的位1開始作為位0,到第1個(gè)八位位組的位8結(jié)束。每位賦予一個(gè)2的數(shù)值,這里N是該位在上面計(jì)數(shù)順序中的位置。非負(fù)二進(jìn)制數(shù)的值為3.7.21最外層類型outermosttype一種ASN.1類型,其編碼被包含在一個(gè)非ASN.1載體中或作為其他ASN.1結(jié)構(gòu)(見11.1.1)的值。6GB/T16263.2—XXXX/ISO/IEC8825-2:2021XX3.7.22PER可視約束PER-visibleconstraint影響值的PER編碼的ASN.1約束記法的使用實(shí)例。3.7.23中繼安全編碼relay-safeencoding抽象語法值的一種完整編碼,該編碼無需知道編碼執(zhí)行環(huán)境就可以被解碼(包括任何嵌入式編碼)。3.7.24半受約束的整個(gè)數(shù)semi-constrainedwholenumber一種受PER可視約束所約束的整個(gè)數(shù),以值“l(fā)b”作為允許值,約束超過或等于某個(gè)值“l(fā)b”,它是不受約束的整個(gè)數(shù)。注:半受約束的整個(gè)數(shù)出現(xiàn)在不受約束的(和某些受約束的情況下的)字符、八位位組和位串類型的長度編碼中,還出現(xiàn)在不受約束的(和某些受約束的情況下的)單一序列和單一集合類型的組件計(jì)數(shù)的編碼中,以及3.7.25簡單類型simpletype不是復(fù)合類型的類型。3.7.26文本依賴textuallydependent用來標(biāo)識下列情況的一個(gè)術(shù)語,如果在計(jì)算一個(gè)元素集合時(shí)使用了某個(gè)引用名,則該元素集合的值被認(rèn)為依賴于該引用名,而無論執(zhí)行的實(shí)際集合算術(shù)運(yùn)算結(jié)果是元素集合的最終值與賦值給該引用名的實(shí)際元素集合值是否有關(guān)。注:例如,下面的Foo的定義文本依賴于Bar,即使Bar對Foo的值集沒有影響(因此,根據(jù)10.3.6,在Foo上的約束不是PER可視的,因?yàn)锽ar被一個(gè)表約束來約束的,而Foo在3.7.27不受約束的整個(gè)數(shù)unconstrainedwholenumber一種不受PER可視約束所約束的整個(gè)數(shù)。4縮略語下列縮略語適用于本文件:ASN.1抽象語法記法一7GB/T16263.2—XXXX/ISO/IEC8825-2:2021BERASN.1的基本編碼規(guī)則CERASN.1的正則編碼規(guī)則DERASN.1的非典型編碼規(guī)則PERASN.1的緊縮編碼規(guī)則1638432K3276848K4915264K6553655記法本文件引用GB/T16262.1定義的記法。6約定6.1本文件使用術(shù)語“最高有效位”和“最低有效位”來定義編碼中的每個(gè)八位位組的值。注:低層規(guī)范使用相同的記法來定義串行線上位傳輸?shù)拇涡颍蛘邔?.2對于本文件,八位位組的位從8~1編號,其中位8是“最高有效位”,位l是“最低有效位”。6.3本文件中頻繁使用術(shù)語“八位位組”來代表“八個(gè)位”。使用該術(shù)語代替“八個(gè)位”不帶有任何對齊的含義,若打算對齊,應(yīng)在本文件中明確說明。7本文件定義的編碼規(guī)則7.1本文件規(guī)定了4種編碼規(guī)則(以及相關(guān)聯(lián)的客體標(biāo)識符),它們可以用來編碼和解碼定義為單個(gè)(已知)ASN.1類型值的抽象語法值。本章描述其適用性和特性。7.2在不知道被編碼值的類型的情況下,就不可能確定編碼(在任何PER編碼規(guī)則算法下)的結(jié)構(gòu)。特別是,在不知道被編碼類型的情況下,就不能從編碼本身確定編碼的結(jié)束。7.3如果類型EXTERNAL、EMBEDDEDPDV和CHARACTERSTRING的抽象值被約束防止攜帶OSI表示上下文的標(biāo)識符,則PER編碼總是中繼安全的。7.4本文件規(guī)定的最一般的編碼規(guī)則算法是BASIC-PER,它通常不產(chǎn)生正則編碼。7.5本文件規(guī)定的第2個(gè)編碼規(guī)則算法是CANONICAL-PER,它產(chǎn)生正則編碼,這被定義為對BASIC-PER編碼中依賴于實(shí)現(xiàn)選擇的限制。注1:當(dāng)鑒別器需要應(yīng)用于抽象值時(shí),則CANONICAL-PER產(chǎn)生具注2:任何與CANONICAL-PER編碼一致的實(shí)現(xiàn)都與BASIC-PER編碼一致。任何與BASIC-PER解碼一致的實(shí)現(xiàn)都與CANONICAL-PER解碼一致。因此,按照CANONICAL-PER形成的編碼也是BASIC-PER所7.6如果用BASIC-PER或CANONICAL-PER所編碼的類型含有EMBEDDEDPDV、CHARACTERSTRING或者EXTERNAL類型,則外層編碼不再是中繼安全的,除非所有EMBEDDEDPDV、CHARACTERSTRING和EXTERNAL類型所使用的傳送語法都是中繼安全的。如果用CANONICAL-PER所編碼的類型含有EMBEDDEDPDV、CHARACTERSTRING或EXTERNAL類型,則外層編碼不再是正則的,除非所有EMBEDDEDPDV、CHARACTERSTRING和EXTERNAL類型所使用的傳送語法都是正則的。注:支持{GB13000的1級(l)...}形式的所有字符抽象語法的字符傳送語法是正則的,支持{GB13000的2級(2)...}8GB/T16263.2—XXXX/ISO/IEC8825-2:2021XX和{GB13000的3級(3)...}形式的字符傳送語法不總是正則的,所有上述字符傳送7.7BASIC-PER和CANONICAL-PER各有兩個(gè)變體:ALIGNED變體和UNALIGNED變體。在ALIGNED變體中,常常插入填充位來恢復(fù)八位位組對齊,在UNALIGNED變體中,則從不插入填充位。7.8在ALIGNED變體和UNALIGNED變體之間沒有互工作的可能性。7.9只有知道編碼值的類型時(shí),PER編碼才是自定界的,編碼總是八位的整數(shù)倍。當(dāng)在EXTERNAL類型中攜帶這些位時(shí),應(yīng)在OCTETSTRING選擇項(xiàng)中攜帶它們,除非EXTERNAL類型本身用PER進(jìn)行編碼,在這種情況下,該值可以編碼為單個(gè)ASN.1類型(即開放類型)。當(dāng)在OSI表示協(xié)議中攜帶它們時(shí),應(yīng)使用帶有OCTETSTRING選擇項(xiàng)的“全編碼”(見GB/T15696.1定義)。7.10除非另有說明,本文件的規(guī)則適用于兩種算法和兩種變體(有例外,見9.2和9.3)。7.11附錄C是資料性附錄,它就實(shí)現(xiàn)PER的組合給出了建議,以使互工作的機(jī)會(huì)最大化。8符合性8.1動(dòng)態(tài)符合性在第9章中規(guī)定。8.2靜態(tài)符合性由規(guī)定這些緊縮編碼規(guī)則應(yīng)用的那些標(biāo)準(zhǔn)來規(guī)定。注:附錄C提供了與支持兩種編碼規(guī)則算法的兩種變體有關(guān)的靜態(tài)符合性的指南,該指南被設(shè)計(jì)成能保證互工作,8.3本文件中的規(guī)則以編碼規(guī)程的形式詳細(xì)說明。如果生成的抽象語法值完整編碼的位串與本文件為適用傳送語法規(guī)定的那些位串之一相同,則不要求此類實(shí)現(xiàn)與規(guī)定的規(guī)程一一對應(yīng)。8.4執(zhí)行解碼的實(shí)現(xiàn)要產(chǎn)生與收到的位串相一致的抽象語法值,收到的位串由發(fā)送器產(chǎn)生,這些發(fā)送器符合與被解碼資料相關(guān)聯(lián)的傳送語法中所標(biāo)識的編碼規(guī)則。注1:通常,本文件明確說明的BASIC-PER,沒有定義替換的編碼。通過規(guī)定中繼安全操作和限制引用其他標(biāo)準(zhǔn)的某些編碼選項(xiàng),使BASIC-PER成為正則的。CANONICAL-PER為要求正則和中繼安全編碼的非典型編碼規(guī)則和正則編碼規(guī)則(見GB/T16263.1)提供了一種替注2:當(dāng)使用CANONICAL-PER來提供正則編碼時(shí),建議將從其派生出的任意一個(gè)加密散列值與一個(gè)算法標(biāo)識符相關(guān)聯(lián),該算法標(biāo)識符將CANONICAL-PER標(biāo)識為從抽象語法值到初始位串(然后9PER編碼指令9.1PER編碼指令可以與符合GB/T16262.1和ISO/IEC8825-6規(guī)定的類型相關(guān)聯(lián)。注1:某些PER編碼指令的應(yīng)用程序可能會(huì)使其不能對該類型的所有抽象值進(jìn)行編碼。當(dāng)出現(xiàn)這種情況時(shí),特定的PER編碼指令會(huì)識別問題,這是設(shè)計(jì)者的決定,基于可能需要使用多個(gè)編碼規(guī)則,是否對類型添加顯式約束,以便將抽象值的范圍限制為那些可以通過使用PER編碼指令進(jìn)行編碼處理的范圍,這可能會(huì)使規(guī)范的可注2:每個(gè)PER編碼指令都以一個(gè)標(biāo)識關(guān)鍵字開始,它可以9.2如果使用BASIC-PER或CANONICAL-PER的ALIGNED版本,那么所有的PER編碼指令都應(yīng)該默認(rèn)忽略,且對編碼沒有影響。9.3如果使用BASIC-PER或CANONICAL-PER的UNALIGNED版本,那么如果一個(gè)類型具有相關(guān)的編碼指令,則應(yīng)適用以下子條。9.3.1如果標(biāo)識關(guān)鍵字未知,則應(yīng)發(fā)出“不支持”的錯(cuò)誤消息。9.3.2如果已知標(biāo)識關(guān)鍵字,本文件的程序應(yīng)通過對PER編碼指令所指定的程序的修訂進(jìn)行修改(參見ISO/IEC8825-6)。注1:如果多個(gè)PER編碼指令與一種類型相關(guān)聯(lián),則所有這些指9GB/T16263.2—XXXX/ISO/IEC8825-2:2021注2:如果由兩個(gè)或兩個(gè)以上單獨(dú)的編碼指令產(chǎn)生的修改發(fā)生沖突,并且沒有說明它們是相互排斥的,則PER編碼10PER使用的編碼方法10.1類型記法的使用10.1.1這些編碼規(guī)則專門使用GB/T16262.1中規(guī)定的ASN.1類型記法,并且只能適用于將使用該記法規(guī)定的單個(gè)ASN.1類型的值編碼。10.1.2特別是,但不僅僅是,它們依賴于ASN.1類型和值模型中保留的以下信息,這些信息是使用記法的基礎(chǔ):a)選擇類型中的選擇類型的嵌套;b)放置在集合類型中的組件上的標(biāo)簽、放置在選擇類型中的選項(xiàng)上的標(biāo)簽及枚舉項(xiàng)的給定值;c)集合或者序列類型的組件是否可選;d)集合或者序列類型的組件是否有DEFAULT值;e)(只)通過PER可視約束的應(yīng)用出現(xiàn)的類型值的受限范圍;f)組件是否是開放類型;g)類型對PER編碼是否可擴(kuò)展。10.2使用標(biāo)簽提供正則次序本文件要求被正則排序的集合類型和選擇類型的組件獨(dú)立于組件的正文排序,如GB/T16262.1—AAAA的8.6規(guī)定的那樣,正則排序通過排序每個(gè)組件的最外層標(biāo)簽來確定。10.3PER可視約束注:對于解碼和編碼,某些ASN.1約束可能不是PER可視的,但不會(huì)以任何方式影響使用這些約束處理解碼期間檢測到的差錯(cuò),也不意味著允許違反這些約束的值被遵守規(guī)則的發(fā)送器所發(fā)送。然而,本文件并不在編碼規(guī)范10.3.1用人類可讀文本表達(dá)的或在ASN.1注釋中所表示的約束不是PER可視的。10.3.2可變的約束不是PER可視的(見GB/T16262.4—DDDD的10.3和10.4)。10.3.3用戶定義的約束不是PER可視的(見GB/T16262.3—CCCC的9.1)。10.3.4表約束不是PER可視的(見GB/T16262.3)。10.3.5組件關(guān)系約束不是PER可視的(見GB/T16262.3—CCCC中的10.7)。10.3.6計(jì)算過程文本依賴于表約束或組件關(guān)系約束的約束不是PER可視的(見GB/T16262.3)。10.3.7對不是已知倍數(shù)字符串類型的(見GB/T16262.1—AAAA的第41章)受限字符串類型的約束不是PER可視的(見3.7.16)。10.3.8模式約束不是PER可視的。10.3.9除受上述各條制約外的所有長度約束都是PER可視的。10.3.10約束類型的有效長度約束是單個(gè)長度約束,因此,當(dāng)且僅當(dāng)存在該(允許的)長度的某個(gè)約束類型值時(shí),該長度才是允許的。10.3.11在應(yīng)用GB/T16262.1—AAAA中的52.3到52.5之后,對不可擴(kuò)展的已知倍數(shù)字符串類型的允許字母表約束是PER可視的??蓴U(kuò)展的允許字母表約束不是PER可視的。GB/T16263.2—XXXX/ISO/IEC8825-2:2021XX10.3.12當(dāng)且僅當(dāng)包含某個(gè)字符的受約束類型的某個(gè)值,該受約束類型的有效允許字母表約束是允許該字符的單個(gè)允許字母表約束。如果受約束類型的所有字符都可以出現(xiàn)在該受約束類型的某個(gè)值中,則該有效允許字母表約束是為不受約束的類型而定義的字符集。10.3.13在應(yīng)用GB/T16262.1—AAAA中的52.3到52.5后,對不可擴(kuò)展的時(shí)間類型(或有用的和定義的時(shí)間類型)的屬性設(shè)置約束不是PER可視的??蓴U(kuò)展的屬性設(shè)置約束不是PER可視的。10.3.14應(yīng)用于實(shí)數(shù)類型的約束不是PER可視的10.3.15僅當(dāng)用來限制syntaxes組件的值為單個(gè)值時(shí),或者用來限制identification為替換的fixed標(biāo)識(見第28章和第31章)時(shí),應(yīng)用于不受限字符串或者嵌入式pdv類型的內(nèi)部類型約束才是PER可視的。10.3.16對有用類型上的約束不是PER可視的。10.3.17應(yīng)用于字符串類型的單個(gè)值子類型約束不是PER可視的。10.3.18當(dāng)且僅當(dāng)所有其他約束適用于整數(shù)類型或已知倍數(shù)字符串類型時(shí),受上述各條制約的這些約束是PER可視的。10.3.19通常對類型的約束可由各個(gè)約束組合而成,組合時(shí)使用了某些或全部包含子類型約束和一系列應(yīng)用約束的集合算法。注:有關(guān)組合分別為PER可視或PER不可視約束的效果的10.3.20如果約束由約束的一系列應(yīng)用組成,那么,即使不是PER可視的約束,也不影響PER編碼,但能引起可擴(kuò)展性(和擴(kuò)展附加部分)出現(xiàn)在任何按GB/T—AAAA16262.1中50.11規(guī)定的要被取消的早期約束中。注1:如果在串行應(yīng)用程序中的最后一個(gè)約束不是PER可視的,那么該類型不能針對PER編碼進(jìn)行擴(kuò)展,并且無擴(kuò)展注2:例如,因?yàn)榭蓴U(kuò)展的允許字母表約束不10.3.21如果一個(gè)PER可視約束是INTERSECTION結(jié)構(gòu)的一部分,那么,得到的約束是PER可視的,并由所有PER可視部分(非PER可視部分被忽略不計(jì))的INTERSECTION組成。如果一個(gè)不是PER可視的約束是UNION結(jié)構(gòu)的一部分,那么得出的約束也不是可視的。如果一個(gè)約束有EXCEPT條款,那么,EXCEPT及隨后的值集全部忽略不計(jì),而不管跟在EXCEPT之后的值集是否是PER可視的。有1..4的有效長度約束,但字母表約束不是可視的,10.3.22如果下列情況之一出現(xiàn),則對于PER編碼,類型也是可擴(kuò)展的:a)它是從一個(gè)ENUMERATED類型派生的(通過劃分子類型、指出類型引用或者置標(biāo)簽),而且在“Enumerations”產(chǎn)生式中有擴(kuò)展標(biāo)記;b)它是從一個(gè)SEQUENCE類型派生的(通過劃分子類型、指出類型引用或者置標(biāo)簽),而且在“ComponentTypeLists”或“SequenceType”產(chǎn)生式中有擴(kuò)展標(biāo)記;c)它是從一個(gè)SET類型派生的(通過劃分子類型、指出類型引用或者置標(biāo)簽),而且在“ComponentTypeLists”或“SetType”產(chǎn)生式中有擴(kuò)展標(biāo)記;d)它是從一個(gè)CHOICE類型派生的(通過劃分子類型、指出類型引用或者置標(biāo)簽而且在“AlternativeTypeLists”產(chǎn)生式中有擴(kuò)展標(biāo)記。GB/T16263.2—XXXX/ISO/IEC8825-2:202110.4編碼使用的類型和值模型10.4.1ASN.1類型要么是簡單類型,要么是使用其他類型構(gòu)造的類型。記法允許使用類型引用和類型置標(biāo)簽。對于這些編碼規(guī)則,使用類型引用和類型置標(biāo)簽對編碼沒有影響,而且在模型中是不可視的,除非在10.2中所述。記法也允許應(yīng)用約束和差錯(cuò)規(guī)范。PER可視約束在模型中作為類型值的限制出現(xiàn)。其他約束和差錯(cuò)規(guī)范不影響編碼,并且在PER類型和值模型中是不可視的。10.4.2被編碼的值可以被視為一個(gè)簡單值或者一個(gè)用結(jié)構(gòu)化機(jī)制從簡單或復(fù)合值的組件構(gòu)建的復(fù)合值,與ASN.1類型定義的結(jié)構(gòu)并行。10.4.3當(dāng)約束包括一個(gè)在根中出現(xiàn)的擴(kuò)展附加部分的值時(shí),該值總是編碼為根的值,而不是擴(kuò)展附加部分的值。--值5被編碼為根值,而不是一個(gè)擴(kuò)展附10.5編碼的結(jié)構(gòu)10.5.1這些編碼規(guī)則的規(guī)定a)簡單值到字段列表的編碼;b)復(fù)合值到字段列表的編碼,使用了由這些編碼規(guī)則應(yīng)用到復(fù)合值的組件而產(chǎn)生的字段列表;c)最外層值的字段列表到抽象語法值的完整編碼的變換(見11.1)。10.5.2數(shù)據(jù)值組件的編碼:a)由3部分構(gòu)成,如圖1所示,它們以下列次序出現(xiàn):1)前導(dǎo)碼(見第19、21和23章);2)長度決定因子(見11.9);注:前導(dǎo)碼、長度及內(nèi)容都是“字段”,它們被拼接在一起形成“字段列表”,除選擇類型外,復(fù)合類型的字段列表可以由幾個(gè)值拼接在一起的字段構(gòu)成。任一前導(dǎo)碼、長度和/圖1復(fù)合值到字段列表的編碼b)(若內(nèi)容很長)由任意個(gè)部分構(gòu)成,如圖2所示,其中第1部分是前導(dǎo)碼(見第19、21和23章),隨后的各部分是多對位字段(在ALIGNED變體中八位位組對齊),首先是內(nèi)容段的長度決定因子,其次是各內(nèi)容段;各字段的最后一對由長度決定因子部分來標(biāo)識,如11.9規(guī)定。GB/T16263.2—XXXX/ISO/IEC8825-2:2021XX圖2長數(shù)據(jù)值的編碼10.5.3在10.5.2中提到的每一部分生成:a)一個(gè)空字段(無內(nèi)容);b)一個(gè)位字段(未對齊);c)一個(gè)位字段(ALIGNED變體中八位位組對齊);d)一個(gè)字段列表,它可以包含位字段(未對齊)、位字段(ALIGNED變體中八位位組對齊)、或者兩者都有。10.6被編碼的類型10.6.1下列各章規(guī)定將以下類型編碼到字段列表中:布爾、整數(shù)、枚舉、實(shí)數(shù)、位串、八位位組串、空、序列、單一序列、集合、單一集合、選擇、開放、客體標(biāo)識符、相關(guān)客體標(biāo)識符、嵌入式pdv、外部、受限字符串和不受限字符串的類型。10.6.2選擇類型應(yīng)編碼為所選類型的編碼。10.6.3除10.2說明外,有標(biāo)簽類型的編碼不包括在本文件中,因?yàn)樵谶@些編碼規(guī)則所使用的類型和值模型中置標(biāo)簽是不可視的。因此,有標(biāo)簽的類型根據(jù)已有標(biāo)簽的類型的編碼來編碼。10.6.4帶前綴類型的編碼根據(jù)帶前綴的類型進(jìn)行編碼。10.6.5下列“有用的類型”應(yīng)進(jìn)行的編碼,就好像它們已被GB/T16263.1—AAAA的第45章中給出的定義所取代:——通用時(shí)間;——世界協(xié)調(diào)時(shí);——客體描述符。對有用類型的約束不是PER可視的,GB/T16263.1—EEEE的11.7和11.8對通用時(shí)間和世界協(xié)調(diào)時(shí)的編碼的限制適用于此。10.6.6使用值集賦值定義的類型應(yīng)像使用GB/T16262.1—AAAA的16.8中規(guī)定的產(chǎn)生式定義的類型一樣進(jìn)行編碼。11編碼過程11.1完整編碼的產(chǎn)生式11.1.1如果ASN.1類型使用在33.2中(或通過本文件的直接文本引用)列出的客體標(biāo)識符所標(biāo)識的任何編碼規(guī)則進(jìn)行編碼,并且編碼被包括在:a)ASN.1八位位組串中;b)ASN.1位串中;c)ASN.1開放類型中;d)ASN.1外部或嵌入式pdv類型的任何部分中;e)任何不使用ASN.1定義的載體協(xié)議中;則該ASN.1類型被定義為這種應(yīng)用的最外層類型,應(yīng)遵循11.1.2中適用于其值的所有編碼。注1:這意味著使用此方法的所有完整的PER編碼(對所有變體)總是八位的整數(shù)倍,除非使用UNALIGNED變體,并注2:可以使用編碼控制記法(見GB/T16263.3)來規(guī)定PER編碼的變體,該編碼不會(huì)被填充到11.1.2中規(guī)定的八GB/T16263.2—XXXX/ISO/IEC8825-2:2021注3:普遍認(rèn)為,在不使用ASN.1定義的載體協(xié)議中,不需要顯式攜帶額外的O位用于填充(在11.1.2中規(guī)定),但11.1.2對于最外層類型抽象值應(yīng)用本文件的結(jié)果所產(chǎn)生的字段列表,應(yīng)按照以下步驟生成該抽象語法值的完整編碼:應(yīng)依序取出字段列表中的每個(gè)字段,拼接到位串的末端,形成的位串即為抽象語法值的完整編碼,該抽象語法值的完整編碼可按如下規(guī)定添加填充的附加0位。11.1.3這些編碼規(guī)則的UNALIGNED變體中,所有字段應(yīng)進(jìn)行拼接,而無需填充。在11.1.1中,除了情況b以外的其他情況適用,情況b適用。(對于編碼的結(jié)果不包括在ASN.1位串中的情況)如果最外層值編碼的結(jié)果是一個(gè)空位字符串,則該位串應(yīng)該用所有位置為0的單個(gè)八位位組來替換。如果是非空位字符串,并且它不是八位的倍數(shù),則應(yīng)在空位串后面附加(0到7個(gè))0位以產(chǎn)生8位的倍數(shù)。(對于編碼的結(jié)果包括在一個(gè)ASN.1位串中的情況)如果最外層值編碼的結(jié)果是空位字符串,則該位串應(yīng)該用0位來代替,不得附加任何填充位。11.1.4如果最外層值編碼的結(jié)果是空位串,則該位串應(yīng)該用所有位置為0的單個(gè)八位位組來代替。如果是非空位串,且不是八位的倍數(shù),則應(yīng)在空位串后面附加(0到7個(gè))0位以產(chǎn)生8位的倍數(shù)。11.1.5在編碼規(guī)則的ALIGNED變體中,字段列表中的任意位字段應(yīng)進(jìn)行拼接,而無需填充。在已拼接(0到7個(gè))0位使目前產(chǎn)生的編碼長度是8位的整數(shù)倍之后,任意八位位組對齊位字段應(yīng)被拼接。如果最外層值編碼的結(jié)果是空位串,則用一個(gè)所有位置為0的八位位組代替該位串。如果是個(gè)非空位串,且不是8位的整數(shù)倍,則應(yīng)在其后面附加(0到7個(gè))0位產(chǎn)生8位的整數(shù)倍。11.1.6所產(chǎn)生的位串是最外層類型的抽象語法值的完整編碼。11.2開放類型字段11.2.1為了編碼開放類型字段,占用該字段的實(shí)際類型的值應(yīng)編碼到一個(gè)字段列表中,然后,該字段列表應(yīng)被轉(zhuǎn)換成如11.1規(guī)定的抽象語法值的完整編碼,從而產(chǎn)生長度為n的八位位組串。11.2.2要嵌入的開放類型值的字段列表應(yīng)被添加上(如11.9規(guī)定)不受約束的長度n(以八位位組為單位)和含有11.2.1中產(chǎn)生位的關(guān)聯(lián)位字段(對于ALIGNED變體,采用八位位組對齊的位字段)。注:當(dāng)開放類型編碼中八位位組的數(shù)目很大時(shí),應(yīng)使用11.9中的分片過程,開放類型編碼將是斷開的,而與占用11.3非負(fù)二進(jìn)制整數(shù)的編碼注說明性)本條給出術(shù)語“非負(fù)二進(jìn)制整數(shù)編碼”的精確描述,以便把該整數(shù)放到固定位數(shù)目的字段中,或放到固定數(shù)目的八位位組的字段中,或者放到容納該整數(shù)所需的最少數(shù)目11.3.1以下條涉及進(jìn)入某一字段的非負(fù)整個(gè)數(shù)的非負(fù)二進(jìn)制整數(shù)編碼的生成,而該字段是規(guī)定長度為單個(gè)八位位組、兩個(gè)八位位組的位字段或者是表示該值的最少數(shù)目八位位組的位字段,本條(11.3)規(guī)定進(jìn)行引用時(shí)所使用的精確編碼。11.3.2該字段的引導(dǎo)位定義為位字段的引導(dǎo)位,或者是該字段第1個(gè)八位位組的最高有效位,該字段的末尾位定義為位字段的末尾位,或者是該字段最后1個(gè)八位位組的最低有效位。11.3.3只對以下定義,這些位應(yīng)加以編號,該字段的末尾位應(yīng)被編號為0,下一位編號為1,依此類推,直到該字段的引導(dǎo)位。11.3.4在非負(fù)二進(jìn)制整數(shù)編碼中,編碼所表示的整數(shù)的值應(yīng)是每位所指定值之和。置為“0”的位的指定值為0,編號為“n”的位,若置為“l(fā)”則該位的指定值為2n。11.3.5對被編碼值的求和(按上述定義)的編碼即是對該值的編碼。GB/T16263.2—XXXX/ISO/IEC8825-2:2021XX注:如果被編碼字段長度為固定(指定長度的單個(gè)八位位組或兩個(gè)八位位組的位字段)的,則存在唯一的編碼,11.3.6整個(gè)數(shù)(它不能預(yù)先確定用于編碼的八位位組的數(shù)目)的最少數(shù)目八位位組的非負(fù)二進(jìn)制整數(shù)編碼具有八位的整數(shù)倍的某一字段,并且該字段應(yīng)滿足如下條件,除非該字段是準(zhǔn)確的八位長,否則該字段的引導(dǎo)段八位應(yīng)不全是0。11.42的補(bǔ)碼的二進(jìn)制整數(shù)的編碼注說明性)本條給出術(shù)語“2的補(bǔ)碼的二進(jìn)制整數(shù)編碼”的精確描述,以便把有符號的整數(shù)放到為容納該有符號整數(shù)所需的最少數(shù)目的八位位組中,這些過11.4.1后續(xù)條規(guī)定如何將整數(shù)(可能是負(fù)數(shù)、0或正數(shù))編碼到表示其值的最少數(shù)目八位位組的2的補(bǔ)碼二進(jìn)制整數(shù)的編碼中。本條(11.4)規(guī)定進(jìn)行這種引用時(shí)所使用的精確編碼。11.4.2該字段的引導(dǎo)位定義為第1個(gè)八位位組的最高有效位,末尾位定義為最后1個(gè)八位位組的最低有效位。11.4.3僅對以下定義,這些位應(yīng)加以編號,該字段的末尾位應(yīng)被編號為0,下一位編號為1,依此類推,直到該字段的引導(dǎo)位。11.4.4在2的補(bǔ)碼的二進(jìn)制整數(shù)編碼中,編碼所表示的整個(gè)數(shù)的值應(yīng)是每位所指定值之和。置為,?為“n”的位,若置為“1”則該位的指定值為2n,如果引11.4.5對被編碼值的求和(按上述定義)的任何編碼均為對該值的編碼。11.4.6整個(gè)數(shù)的最少數(shù)目八位位組2的補(bǔ)碼的二進(jìn)制整數(shù)編碼具有八位的整數(shù)倍的字段寬度,并且應(yīng)滿足如下條件:該字段的引導(dǎo)的9個(gè)位應(yīng)不全是0也應(yīng)不全是1。11.5受約束的整個(gè)數(shù)的編碼注說明性)本條被其他條引用,并引用前面條,以便產(chǎn)生非負(fù)二進(jìn)制整數(shù)編碼或2的補(bǔ)碼的二進(jìn)制整數(shù)編碼。對于UNALIGNED變體,該值總是編碼在表示該范圍(在11.5.3中定義)所需的最少數(shù)目位中,本注的其余部分針對ALIGNED變體,當(dāng)范圍小于或等于255時(shí),該值被編碼到表示該范圍的最小長度的位字段中。當(dāng)范圍正好是256時(shí),該值被編碼到單個(gè)八位位組對齊的位字段中,當(dāng)范圍在257到64K之間時(shí),該值被編碼到兩個(gè)八位位組對齊位字段中,當(dāng)范圍大于64K時(shí),則忽略范圍,并且該值被編碼到八位位組對齊位字段中,該位字段是表示該值的最少數(shù)目八位位組,在最后一種情況下,后面的過程(見11.9)將編碼一個(gè)長度字段(通常是單個(gè)),11.5.1本條(11.5)規(guī)定了如何將受約束的整個(gè)數(shù)映射到位字段(不對齊的)或者位字段(在ALIGNED變體中的八位位組對齊),并在本文件中的后續(xù)條引用。11.5.2僅當(dāng)受約束的被編碼的整個(gè)數(shù)是可用的,并且下邊界“l(fā)b”和上邊界“ub”的值已從類型記法中確定下來(在應(yīng)用PER可視約束之后),本條的過程才能被引用。注:如果對一個(gè)無限數(shù)求MIN值,則不能確定下邊界,如果對一個(gè)無限數(shù)求MAX值,則不能確定上邊界。例如,對11.5.3設(shè)“范圍”定義為整數(shù)值(“ub”-“l(fā)b”+1),且設(shè)被編碼的值為“n”。11.5.4如果“范圍”值為1,則編碼結(jié)果應(yīng)是一個(gè)空的位字段(沒有任何位)。11.5.5有5種其他情況(導(dǎo)致不同的編碼)要考慮,一種適用于UNALIGNED變體,其他4種適用于ALIGNED變體。GB/T16263.2—XXXX/ISO/IEC8825-2:202111.5.6在UNALIGNED變體的情況下,值(“n”-“l(fā)b”)應(yīng)編碼為按照11.3規(guī)定的位字段中的非負(fù)二進(jìn)制整數(shù),并具有為表示該范圍所需的最少數(shù)目位數(shù)。11.5.7在ALIGNED變體的情況下,編碼取決于是否:a)“范圍”小于或等于255(位字段的情況);b)“范圍”剛好等于256(一個(gè)八位位組的情況);c)“范圍”大于256且小于或等于64K(兩個(gè)八位位組的情況);d)“范圍”大于64K(不定長度的情況)。(位字段的情況)如果“范圍”值小于或等于255,則本條的引用要求生成下表所規(guī)定的位數(shù)的位字段,并包含按11.3規(guī)定的位字段中作為非負(fù)二進(jìn)制整數(shù)編碼的值(“n”-“l(fā)b”)?!胺秶?12345678(一個(gè)八位位組的情況)如果“范圍”值為256,則值(“n”-“l(fā)b”)應(yīng)被編碼為11.3規(guī)定的非負(fù)二進(jìn)制整數(shù),放在一個(gè)八位位組位字段中(ALIGNED變體中的八位位組對齊)。(兩個(gè)八位位組的情況)如果“范圍”值大于或等于257并且小于或等于64K,則值編碼為11.3規(guī)定的非負(fù)二進(jìn)制整數(shù)(“n”-“l(fā)b”)放在兩個(gè)八位位組位字段(ALIGNED變體中的八位位組對齊)中。(不定長度的情況)否則,值(“n”-“l(fā)b”)應(yīng)按11.3的規(guī)定編碼為非負(fù)二進(jìn)制整數(shù),放在表示該值的最少數(shù)目八位位組的位字段(ALIGNED變體中的八位位組對齊)中,并且該編碼中使用的八位位組的數(shù)目“l(fā)en”被引用本條的其他條用來規(guī)定長度的編碼。11.6正常小非負(fù)整數(shù)的編碼注說明性)當(dāng)編碼期望為小非負(fù)整個(gè)數(shù),但其長度由于存在擴(kuò)展標(biāo)記而引起潛在地不受限制時(shí),可使用本過11.6.1如果非負(fù)整個(gè)數(shù)“n”小于或等于63,則一個(gè)單個(gè)位的位字段應(yīng)被附加到字段列表后,該位置為0,并且“n”應(yīng)編碼為非負(fù)二進(jìn)制整數(shù),放入一個(gè)6位的位字段中。11.6.2如果“n”大于或等于64,則一個(gè)置為1的單個(gè)位的位字段應(yīng)被附加到字段列表后。然后,值“n”應(yīng)編碼為半受約束的且“l(fā)b”等于0的整個(gè)數(shù),并應(yīng)引用11.9的過程將它附加到字段列表中,該字段列表前面是長度決定因子。11.7半受約束的整個(gè)數(shù)的編碼注說明性)當(dāng)在能夠標(biāo)識出下邊界但不能標(biāo)識上邊界時(shí),可適用本編碼過程。編碼過程將與下邊界的偏移值作為非負(fù)二進(jìn)制整數(shù)放入最少數(shù)目的八位位組,并且要求一個(gè)按后面過程規(guī)定的顯式長度編碼(典型的是單GB/T16263.2—XXXX/ISO/IEC8825-2:2021XX11.7.1本條規(guī)定了從半受約束的整個(gè)數(shù)到位字段(ALIGNED變體中的八位位組對齊)的映射,并且它將被本文件的后續(xù)條所引用。11.7.2僅當(dāng)被編碼的半受約束的整個(gè)數(shù)可用,并且下邊界“l(fā)b”的值已經(jīng)從類型記法中確定(在應(yīng)用PER可視約束之后)時(shí),本條(11.7)的過程才能被引用。注:如果對一個(gè)無限數(shù)求MIN值,則不能確定下邊界。例如,對INTEGER(MIN..MAX11.7.3本條(11.7)的過程總是產(chǎn)生不定長度的情況。11.7.4(不定長度的情況)值(“n”-“l(fā)b”)應(yīng)按11.3的規(guī)定編碼為非負(fù)二進(jìn)制整數(shù),放在表示該值的最少數(shù)目八位位組的位字段(ALIGNED變體中的八位位組對齊)中,并且該編碼中使用的八位位組的數(shù)目“l(fā)en”被引用本條的其他條用來規(guī)定長度的編碼。11.8不受約束的整個(gè)數(shù)的編碼注說明性)這種情況只在沒有下邊界的整數(shù)型值的編碼中出現(xiàn)。本過程將該值編碼為2的補(bǔ)碼二進(jìn)制整數(shù),并放入容納該編碼所需的最少數(shù)目八位位組中,并且要求有一個(gè)按后面過程規(guī)定的顯式長度編碼(典型的是單11.8.1本條(11.8)規(guī)定了從不受約束的整數(shù)(如“n”)到位字段(ALIGNED變體中的八位位組對齊)的映射,它被本文件的后續(xù)條引用。11.8.2本條(11.8)的過程總是產(chǎn)生不定長度的情況。11.8.3(不定長度的情況)值“n”應(yīng)按11.4的規(guī)定編碼為2的補(bǔ)碼二進(jìn)制整數(shù),放在表示該值的最少數(shù)目八位位組的位字段(ALIGNED變體中的八位位組對齊)中,并且該編碼中使用的八位位組的數(shù)目“l(fā)en”被引用本條的其他條用來規(guī)定長度的編碼。11.9長度決定因子編碼的一般規(guī)則注1說明性)本條規(guī)定的過程只在編碼的某些部分需要一個(gè)顯式的長度字段時(shí)被引用,無論長度計(jì)數(shù)是否有上邊界(通過PER可視約束)。使用長度的編碼部分可能是位串(帶有以位表示的長度計(jì)數(shù))、八位位組串(帶有以八位位組表示的長度計(jì)數(shù))、已知倍數(shù)字符串(帶有以字符表示的長度計(jì)數(shù))、或者字段列表(帶注2說明性)在ALIGNED變體的情況下,如果長度計(jì)數(shù)上限小于64K,則長度使用受約束的整數(shù)編碼。對于足夠小的范圍,其結(jié)果是一個(gè)位字段,否則,不受約束的長度(如“n”),將按以下列三種方式之一編碼到八):注3:(說明性)在UNALIGNED變體中,如果長度計(jì)數(shù)上限小于64K,則受約束的整數(shù)編碼用來編碼表示該范圍所需11.9.1按照后面各條的規(guī)范,如果長度決定因子“n”的值被類型定義(被PER可視約束所約束)限定為小于64K的值,則不能引用本條。11.9.2本條被引用來向字段列表附加字段或者字段列表,其前面是一個(gè)長度決定因子“n”,長度決定因子用于決定:a)以關(guān)聯(lián)字段的八位位組表示的長度(單位為八位位組);b)以關(guān)聯(lián)字段的位表示的長度(單位為位);c)以關(guān)聯(lián)的字段列表表示的組件編碼的數(shù)目(單位為單一集合或單一序列的組件);GB/T16263.2—XXXX/ISO/IEC8825-2:2021d)以關(guān)聯(lián)的已知倍數(shù)字符串類型的值表示的字符數(shù)(單位為字符)。11.9.3(ALIGNED變體)ALIGNED變體用的過程在到.4中規(guī)定(UNALIGNED變體用的過程在11.9.4中規(guī)定)。作為類型定義(在后面的條中規(guī)定)的分析結(jié)果,長度決定因子(一個(gè)整個(gè)數(shù)“n”)將被確定為:a)一個(gè)正常小長度,其下邊界“l(fā)b”等于1;或者b)一個(gè)受約束的整數(shù),具有(大于或等于0)的下邊界“l(fā)b”,上邊界“ub”小于64K;c)一個(gè)半受約束的整個(gè)數(shù),具有(大于或等于0)的下邊界“l(fā)b”,或者一個(gè)受約束的整個(gè)數(shù),具有(大于或等于0)的下邊界“l(fā)b”,大于或等于64K的上邊界“ub”。引用本條(11.9)過程的各條將確定長度的下邊界“l(fā)b”的值(如果長度是不受約束的,則它為0)和長度的上邊界“ub”的值。如果從PER可視約束不能確定上邊界,則“ub”為不設(shè)置。當(dāng)長度決定因子是一個(gè)“ub”小于64K的受約束的整數(shù)時(shí),則按11.5中規(guī)定的方法,長度決定因子的受約束整個(gè)數(shù)的編碼應(yīng)被附加到字段列表上。如果“n”為非0,則其后應(yīng)有關(guān)聯(lián)字段或字段列表,過程結(jié)束。如果“n”為0,則對字段列表不應(yīng)進(jìn)一步附加任何內(nèi)容,過程結(jié)束。--長度以兩個(gè)八位位組(ALIGNED變體中的注2:當(dāng)這些過程被引用來添加0長度的八位位組對齊位字段時(shí),在“n”等于0的情況下,不進(jìn)行添加的影響是指當(dāng)長度決定因子是一個(gè)正常小長度,并且“n”小于或等于64,則一個(gè)單個(gè)位的位字段將被附加到字段列表上,且該位被置為0,值“n-1”應(yīng)被編碼為非負(fù)二進(jìn)制整數(shù)放入一個(gè)6位的位字段中。其后是關(guān)聯(lián)的字段,此時(shí)這些過程結(jié)束。按照到.4中的過程,如果“n”大于64,則一個(gè)單個(gè)位的位字段應(yīng)被附加到字段列表上,且該位置為1,其后是不受約束長度決定因子n的編碼,再后是關(guān)聯(lián)的字段。注:正常小長度只用來指示位圖的長度,該位圖表示集合或序列類型的否則(不受約束的長度,或大“ub”),“n”被編碼并添加到字段列表上,其后是以下規(guī)定的關(guān)聯(lián)字段。如果“n”小于或等于127,則“n”應(yīng)作為非負(fù)二進(jìn)制整數(shù)(使用11.3的過程)被編碼到一個(gè)單個(gè)八位位組位7(最高有效位)至位1(最低有效位)中,且位8應(yīng)置為0。它應(yīng)作為位字段(在ALIGNED變體中的八位位組對齊)附加到字段列表后,其后是關(guān)聯(lián)的字段或字段列表,過程結(jié)束。注:例如,如果下列A的值為4個(gè)字符長,則這兩個(gè)值都在占用一個(gè)八位位組的長度八位位組中編碼,且最高有效位置為0,以GB/T16263.2—XXXX/ISO/IEC8825-2:2021XX如果“n”大于127且小于16K,則“n”應(yīng)(使用11.3的過程)編碼為非負(fù)二進(jìn)制整數(shù)放入兩個(gè)八位位組位字段(在ALIGNED變體中的八位位組對齊)中的第1個(gè)八位位組(最高有效)的位6到第2個(gè)八位位組(最低有效)的位1中,同時(shí)第1個(gè)八位位組的位8置為1,第1個(gè)八位位組的位7置為0。它應(yīng)被附加到字段列表后,其后是關(guān)聯(lián)字段或字段列表,過程結(jié)束。注:如果在示例中A的值為130個(gè)字符,B的值為130項(xiàng),則這兩個(gè)值在占用2個(gè)八位位組的長度組件和該八位位組的2個(gè)最高有效位(位8和位7)均置為10的情況下進(jìn)行編碼,表示長度大于如果“n”大于或者等于16K,則在位字段(在ALIGNED變體中的八位位組對齊)中的單個(gè)八位位組應(yīng)被附加到字段列表上,該單個(gè)八位位組的位8置為1,位7置為1,并且位6到位1是值1、2、3或4,作為非負(fù)二進(jìn)制整數(shù)(使用11.8的過程)編碼。該單個(gè)八位位組后應(yīng)是下面規(guī)定的部分關(guān)聯(lián)字段或字段列表。注:位6到位1的值限制為1~4(而不是理論值0~63),是為了把實(shí)現(xiàn)必須了解的項(xiàng)數(shù)限制到更易于管理的數(shù)目.1位6到位1的值(1到4)應(yīng)乘以16K來給出計(jì)數(shù)(記“m”)。位6到位1中的整數(shù)的選擇應(yīng)是最大可允許的值,這樣,相關(guān)聯(lián)的字段或字段列表含有多于或正好等于合適的“m”個(gè)八位位組、位、組件或字符。注1:不分片形式處理的長度達(dá)16K,因此分片可以提供高達(dá)64注2:如果在的示例中,B的值長度為144K+1(即64K+64K+l6K+l)項(xiàng)長,則該值被分片,前三個(gè)分片的兩個(gè)最高有效位(位8和位7)置為11,表明后面的1到4個(gè)塊,每塊16K項(xiàng),另一個(gè)長度組件跟在每個(gè)分片的最.2“m”指定的內(nèi)容部分應(yīng)以以下方式添加到字段列表中:a)“m”個(gè)八位位組的單個(gè)位字段(在ALIGNED變體中的八位位組對齊)含有關(guān)聯(lián)字段的前“m”個(gè)八位位組,單位為八位位組;b)“m”位的單個(gè)位字段(在ALIGNED變體中的八位位組對齊)含有關(guān)聯(lián)字段的前“m”位,單位為位;c)字段列表編碼關(guān)聯(lián)字段列表中的前“m”個(gè)組件,單位為單一集合類型或單一序列類型的組件;a)“m”個(gè)字符的單個(gè)位字段(在ALIGNED變體中的八位位組對齊)含有關(guān)聯(lián)字段的前“m”個(gè)字符,單位為字符。GB/T16263.2—XXXX/ISO/IEC8825-2:202.3應(yīng)重新應(yīng)用11.9的過程將關(guān)聯(lián)字段或字段列表的其余部分附加到帶有長度的字段列表上,該長度是等于(“n”-“m”)的半受約束整個(gè)數(shù),下邊界為0。注:如果含有部分編碼值的最后一個(gè)分片的長度正好是16K的整數(shù)倍,則其后的最末一個(gè)分片只由單個(gè)八位位組的.4重復(fù)應(yīng)用上述過程,只將關(guān)聯(lián)字段的一部分添加到字段列表上稱為分片過程。11.9.4(UNALIGNED變體)UNALIGNED變體用的過程在到中規(guī)定(ALIGNED變體用的過程在11.9.3中規(guī)定)。如果要編碼的長度決定因子“n”是“ub”小于64K的受約束的整個(gè)數(shù),則應(yīng)使用編碼“范圍”(“ub”-“l(fā)b”+1)所需的最少數(shù)目位數(shù)將(“n”-“l(fā)b”)編碼為非負(fù)二進(jìn)制整數(shù)(在11.3中規(guī)定),除非范圍是1,在這種情況下,不應(yīng)有長度編碼。如果“n”為非0,則其后是關(guān)聯(lián)字段或字段列表,過程結(jié)束。如果“n”是0,則不再向該字段列表添加字段表,過程結(jié)束。如果被編碼的長度決定因子“n”是一個(gè)正常小長度、或是一個(gè)大于或等于64K的受約束整個(gè)數(shù)、或是一個(gè)半受約束整個(gè)數(shù),則“n”應(yīng)按照到.4中的規(guī)定進(jìn)行編碼。12布爾類型的編碼12.1布爾類型的值應(yīng)被編碼為由單個(gè)位構(gòu)成的位字段。12.2該位應(yīng)置l為TRUE,置0為FALSE。12.3位字段應(yīng)被添加到不帶長度決定因子的字段列表上。13整數(shù)類型的編碼注1:(ALIGNED變體說明性)所允許的全部值編碼到一個(gè)或更少的八位位組的范圍,放入一個(gè)沒有長度計(jì)數(shù)的最小長度的位字段,所允許的全部值編碼到兩個(gè)八位位組的范圍,放入一個(gè)沒有長度計(jì)數(shù)的八位位組對齊的位字段中的兩個(gè)八位位組。否則,該值被編碼到最少數(shù)目的八位位組(當(dāng)合適時(shí)使用非負(fù)二進(jìn)制整數(shù)或2的補(bǔ)碼二進(jìn)制整數(shù)編碼)中并添加上長度決定因子。在這種情況下,如果整數(shù)值可以被編碼在小于127個(gè)八位位組(作為可能確定的任何下邊界的偏移)中,并且沒有有限上邊界和下邊界,則存在一個(gè)八位位組的長度決定因子,否則,該長度被編碼在所需的最少位數(shù)中。其他情況沒有實(shí)際意義,但為了完注2UNALIGNED變體說明性)受約束的整數(shù)被編碼為表示其范圍所需的最小位數(shù),而不管其大小。不受約束的13.1如果在整數(shù)類型的約束規(guī)范中出現(xiàn)擴(kuò)展標(biāo)記,則單個(gè)位應(yīng)作為長度為1的位字段添加到字段列表上。如果被編碼的值不在擴(kuò)展根的范圍內(nèi),則該位應(yīng)置為1,否則置為0。對前一種情況,該值應(yīng)按13.2.4到13.2.6的規(guī)定,作為不受約束的整數(shù)值添加到字段列表中,結(jié)束此過程。對后一種情況,該值應(yīng)按照不存在擴(kuò)展標(biāo)記的情況進(jìn)行編碼。13.2如果整數(shù)類型的約束規(guī)范中不存在擴(kuò)展標(biāo)記,則使用下列條。13.2.1如果PER可視約束將整數(shù)值限制為單個(gè)值,則不應(yīng)向字段列表添加任何內(nèi)容,過程結(jié)束。13.2.2如果PER可視約束將整數(shù)值限制為受約束的整個(gè)數(shù),則應(yīng)按照11.5(受約束的整個(gè)數(shù)的編碼)的過程將其轉(zhuǎn)換成某個(gè)字段,然后應(yīng)使用13.2.5到13.2.6的過程。13.2.3如果PER可視約束將整數(shù)值限制為半受約束的整個(gè)數(shù),則應(yīng)按照11.7(半受約束的整個(gè)數(shù)的編碼)的過程將其轉(zhuǎn)換成某個(gè)字段,然后應(yīng)使用13.2.6的過程。GB/T16263.2—XXXX/ISO/IEC8825-2:2021XX13.2.4如果PER可視約束不將整數(shù)值限制為受約束的整個(gè)數(shù)或者半受約束的整個(gè)數(shù),則按照11.8(不受約束的整個(gè)數(shù)的編碼)的過程將其轉(zhuǎn)換成某個(gè)字段,然后應(yīng)使用13.2.6的過程。13.2.5如果引用將整數(shù)值編碼到某個(gè)字段的過程不產(chǎn)生不定長度的情況(見和11.8.2),則該字段應(yīng)被添加到字段列表上,過程結(jié)束。13.2.6否則(不定長度情況),不應(yīng)引用11.9的過程把該字段附加到其前面是下列內(nèi)容之一的字段列表上:a)受約束的長度決定因子等于“l(fā)en”(按所確定的),如果PER可視約束限制了帶有有限上下邊界的類型,并且如果該類型是可擴(kuò)展的,則該值位于擴(kuò)展根范圍內(nèi)。長度決定因子使用的下邊界“l(fā)b”應(yīng)是1,上邊界“ub”應(yīng)是容納該整數(shù)值范圍所需的八位位組數(shù)的計(jì)數(shù)。00xxxxxx00000000,其中‘x’表示一個(gè)零填充位,它可能存在也可能不存在,這取決于長度在八位位組中出現(xiàn)的位置(例如,如果長度開始于一個(gè)八位位組的邊界,則編碼是00xxxxxx00000000,如果長度開始于一),b)不受約束的長度決定因子等于“l(fā)en”(按11.7和11.8所確定的),如果PER可視約束不限制具有有限上下邊界的類型,或者如果該類型是可擴(kuò)展的,并且該值不在擴(kuò)展根的范圍內(nèi)。14枚舉類型的編碼注說明性)沒有擴(kuò)展標(biāo)記的枚舉類型被編碼為一個(gè)受約束整數(shù),其子類型約束不包含擴(kuò)展標(biāo)記。這意味著枚舉類型在實(shí)際中,枚舉類型差不多總是被編碼為表示每個(gè)枚舉所需的最少位數(shù)中的某個(gè)位字段。存在擴(kuò)展標(biāo)記時(shí),如果該值不在擴(kuò)展根中,則將其編碼為正14.1枚舉根中的若干枚舉應(yīng)根據(jù)其枚舉值升序排列,然后應(yīng)賦予第一個(gè)枚舉以0開始的枚舉索引,1賦予第2個(gè)枚舉,以此類推,直到排序表中的最后一個(gè)枚舉。擴(kuò)展附加枚舉(始終按升序定義)應(yīng)賦予從0開始的枚舉索引,1賦予給第2個(gè)枚舉,以此類推,直到擴(kuò)展附加枚舉中的最后一個(gè)枚舉。注:GB/T16262.1—AAAA要求每個(gè)連續(xù)的擴(kuò)展附14.2如果在枚舉類型定義中不存在擴(kuò)展標(biāo)記,則應(yīng)編碼枚舉索引。其編碼應(yīng)被視為不存在擴(kuò)展標(biāo)記的受約束整型值,其中下邊界為0,而上邊界為與該類型相關(guān)聯(lián)的最大枚舉索引,過程結(jié)束。14.3如果存在擴(kuò)展標(biāo)記,則單個(gè)位應(yīng)添加到長度為1的位字段內(nèi)的字段列表中。如果被編碼值不在擴(kuò)展根中,則應(yīng)將該位置為1,否則置為0。對前一種情況,應(yīng)按照14.1將附加枚舉排序,該值應(yīng)作為正常小非負(fù)整個(gè)數(shù)添加到字段列表中,該整數(shù)的值是附加枚舉的枚舉索引,并且其“l(fā)b”置為0,過程結(jié)束。對后一種情況,就好像擴(kuò)展標(biāo)記不存在那樣,該值應(yīng)按照14.2的規(guī)定進(jìn)行編碼。注:沒有可適用于枚舉類型的PER可視約束對這15實(shí)數(shù)類型的編碼注說明性)實(shí)數(shù)使用以長度決定因子開頭的CER/DER內(nèi)容八位位組,在實(shí)際中,該長度決定因子是單個(gè)八位位15.1如果抽象值的基數(shù)是10,則編碼值的基數(shù)應(yīng)是10,如果抽象值的基數(shù)是2,則編碼值的基數(shù)應(yīng)該是2。15.2應(yīng)使用GB/T16263.1—EEEE的11.3中的CER和DER所規(guī)定的REAL編碼來給出某個(gè)位字段(在ALIGNED變體中的八位位組對齊),該位字段是CER/DER編碼的內(nèi)容八位位組。該編碼的內(nèi)容八位位組由“n”個(gè)八位位組構(gòu)成,并且被放在“n”個(gè)八位位組的位字段(在ALIGNED變體中的八位位組對GB/T16263.2—XXXX/ISO/IEC8825-2:2021齊)中。應(yīng)引用11.9的過程把這一“n”個(gè)八位位組的位字段(在ALIGNED變體中的八位位組對齊)添加到字段列表上,前面是等于“n”的不受約束的長度決定因子。16位串類型的編碼注說明性)受約束于固定長度小于或等于16位的位串不會(huì)引起八位位組對齊,較大位串是在ALIGNED變體中的八位位組對齊的。如果長度被若干約束所固定,且上邊界小于64K,則沒有顯式的長度編碼,否則,所包含的長度編碼可以采用任何一種前面規(guī)定的長度編碼的形式,包16.1PER可視約束只能約束位串的長度。16.2在不存在PER可視約束,并且GB/T16262.1—AAAA的22.7適用時(shí),該值應(yīng)編碼為不帶尾0位(注,這意味著不帶1位的值總被編碼為空位串)。16.3在存在PER可視約束,并且GB/T16262.1—AAAA的22.7(即位串類型是用“NamedBitList”定義)適用時(shí),當(dāng)有必要保證發(fā)送值的長度是能攜帶該值的最小長度,并且滿足有效長度約束時(shí),該值應(yīng)是使用增加或去掉尾0位的編碼。16.4設(shè)位串(在長度上由PER可視約束所確定)中的最大位數(shù)為“ub”,最少位數(shù)為“l(fā)b”。如果沒有有限最大長度,則認(rèn)為“ub”未設(shè)置。如果在最小長度上沒有約束,則“l(fā)b”為0,設(shè)要編碼的實(shí)際位串值的長度為“n”位。16.5當(dāng)位串值按16.6到16.11的規(guī)定放到某個(gè)位字段中時(shí),位串值的引導(dǎo)位應(yīng)放在該位字段的引導(dǎo)位上,并且位串值的末尾位應(yīng)放在該位字段的末尾位上。16.6如果位串類型對PER編碼具有可擴(kuò)展(見10.3.9則應(yīng)將一個(gè)由單個(gè)位組成的位字段添加到字段列表中。如果該編碼的長度不在擴(kuò)展根的范圍內(nèi),則該位應(yīng)被置1,否則置0。對前一種情況,應(yīng)按照16.11將長度作為半受約束的整數(shù)加到字段列表中,其后是位串值。對后一種情況,長度和值應(yīng)按擴(kuò)展不存在的情況進(jìn)行編碼。16.7如果位串類型的長度約束規(guī)范中不存在擴(kuò)展標(biāo)記,則適用16.8到16.11。16.8如果位串被約束為0長度(“ub”等于0),則不應(yīng)對其進(jìn)行編碼(字段列表不添加位串),本條過程結(jié)束。16.9如果位串的所有值都被約束為同一長度(“ub”等于“l(fā)b”),并且長度小于或等于16位,則位串應(yīng)被放入到約束長度為“ub”的位字段中,該“ub”應(yīng)被添加到無長度決定因子的字段列表上,本條過程結(jié)束。16.10如果位串的所有值都被約束為同一長度(“ub”等于“l(fā)b”),并且該長度大于16位,但小于64K位,則位串應(yīng)被放入到長度為“ub”(不必是8位的整數(shù)倍)的位字段(在ALIGNED變體中的八位位組對齊)中,且該位串應(yīng)被添加到不帶長度決定因子的字段列表上,本條過程結(jié)束。16.11如果16.8到16.10不適用,則位串應(yīng)被放入到長度為“n”位的位字段(在ALIGNED變體中的八位位組對齊)中,且應(yīng)根據(jù)11.9的過程把這個(gè)“n”位的位字段(在ALIGNED變體中的八位位組對齊)添加到字段列表中,如果設(shè)置了“ub”且小于64K,則該字段列表前面是作為受約束的整數(shù)的等于“n”位的長度決定因子,或者,如果未設(shè)置“ub”,則該字段列表前面是作為半受約束的整數(shù)的等于“n”位的長度決定因子,“l(fā)b”如上所述。17八位位組串類型的編碼注說明性)固定長度小于或等于兩個(gè)八位位組的八位位組串不是八位位組對齊的。所有其他八位位組串都是在ALIGNED變體中八位位組對齊的。如果固定長度八位位組小于64K,則使用無長度八位位組進(jìn)行編碼。對于GB/T16263.2—XXXX/ISO/IEC8825-2:2021XX不受約束的八位位組串,該長度則被顯式編17.1PER可視約束只能約束八位位組串的長度。17.2設(shè)八位位組串(在長度上由PER可視約束所確定)中八位位組的最大數(shù)目為“ub”,最小數(shù)目為“l(fā)b”。如果沒有有限最大值,則認(rèn)為“ub”未設(shè)置。如果在最小值上沒有約束,則“l(fā)b”為0。設(shè)要編碼的實(shí)際八位位組串的值的長度為“n”個(gè)八位位組。17.3如果八位位組串類型對PER編碼具有可擴(kuò)展(參見10.3.9),則應(yīng)將由單個(gè)字段組成的位字段添加到字段列表中。如果該編碼的長度不在擴(kuò)展根的范圍內(nèi),則該位應(yīng)被置1,否則置0。對前一種情況,應(yīng)按照17.8條將長度作為半受約束的整個(gè)數(shù)加到字段列表中,其后是八位位組串值。對后一種情況,長度和值應(yīng)按擴(kuò)展不存在的情況進(jìn)行編碼。17.4如果在八位位組串類型的約束規(guī)范中不存在擴(kuò)展標(biāo)記,則適用17.5至17.8。17.5如果八位位組串被約束為0長度(“ub”等于0),則不應(yīng)對其進(jìn)行編碼(對字段列表不添加八位位組),本條過程結(jié)束。17.6如果八位位組串的所有值都被約束為同一長度(“ub”等于“l(fā)b”),并且該長度小于或等于兩個(gè)八位位組,則八位位組串應(yīng)放到位數(shù)等于受約束長度為八倍“ub”的位字段中,該長度應(yīng)被添加到不帶長度決定因子的字段列表上,本條過程結(jié)束。17.7如果八位位組串的所有值都被約束為同一長度(“ub”等于“l(fā)b”),并且該長度大于兩個(gè)八位位組,但小于64K,則八位位組串應(yīng)放到受約束長度為“ub”的位字段(在ALIGNED變體中的八位位組對齊)中,且該長度應(yīng)被添加到不帶長度決定因子的字段列表上,本條過程結(jié)束。17.8如果17.5到17.7不適用,則八位位組串應(yīng)放到長度為“n”個(gè)八位位組的位字段(在ALIGNED變體中的八位位組對齊)中,且應(yīng)按照11.9的過程把該“n”個(gè)八位位組的位字段(在ALIGNED變體中的八位位組對齊)添加到字段列表上,如果設(shè)置了“ub”,則該字段列表前面是作為受約束的整數(shù)的等于“n”個(gè)八位位組的長度決定因子,如果未設(shè)置“ub”,則該字段列表前面是作為半受約束的整個(gè)數(shù)的等于“n”個(gè)八位位組的長度決定因子。“l(fā)b”如上確定。注:在16K、32K、48K或64K個(gè)八位位組之18空值類型的編碼注說明性)空值類型基本上是一個(gè)位置占位符,僅在選擇、可選集合或序列組件的情況下才有實(shí)際意義。在這些編碼規(guī)則中,執(zhí)行選擇中空值的標(biāo)識或其作為可選元素存在,而無需用八位位組表示空值。因此,空值對于空值的字段列表不應(yīng)有任何添加。19序列類型的編碼注說明性)序列類型以位圖前導(dǎo)碼開始。如果該序列類型沒有擴(kuò)展標(biāo)記,則該位圖只記錄該類型中默認(rèn)或可選組件是否存在,編碼為固定長度的位字段。如果該序列類型有擴(kuò)展標(biāo)記,則該位圖前有單個(gè)位,說明編碼中擴(kuò)展附加部分的值是否真的存在。只要前導(dǎo)碼的長度小于64K位,其編碼就不帶任何長度決定因子,否則對長度決定因子進(jìn)行編碼以獲得分片。該前導(dǎo)碼后面是對每個(gè)組件依次編碼的字段,如果存在擴(kuò)展附加部分,則第1個(gè)被編碼的擴(kuò)展附加部分前面是被編碼類型中的擴(kuò)展附加數(shù)目計(jì)數(shù)的編碼(作為通常很小的長度),后面是長度等于該計(jì)數(shù)的位圖,記錄每個(gè)擴(kuò)展附加部分存在與否,其后是各擴(kuò)展附加部分的編碼,各擴(kuò)展附加19.1在“ComponentTypeLists”或“SequenceType”中,如果序列類型具有擴(kuò)展標(biāo)記,則應(yīng)首先將單個(gè)位添加到長度為1的位字段內(nèi)的字段列表中。如果編碼中存在擴(kuò)展附加值,則該位應(yīng)被置1,否GB/T16263.2—XXXX/ISO/IEC8825-2:2021則置0(該位在下文中稱為“擴(kuò)展位”)。如果在“ComponentTypeLists”或“SequenceType”中沒有擴(kuò)展標(biāo)記,則不應(yīng)添加擴(kuò)展位。19.2如果序列類型在擴(kuò)展根內(nèi)有“n”個(gè)組件,標(biāo)記為OPTIONAL或者DEFAULT,則應(yīng)產(chǎn)生帶有“n”位的單個(gè)位字段作為字段列表的附加部分。該位字段的位應(yīng)依次對序列類型中每個(gè)可選或者默認(rèn)組件的編碼存在與否進(jìn)行編碼,位值為1應(yīng)編碼為組件的編碼存在,位值為0編碼為組件的編碼不存在。前導(dǎo)碼中的引導(dǎo)位應(yīng)對第1個(gè)可選或者默認(rèn)組件的存在與否進(jìn)行編碼,末尾位應(yīng)對最后1個(gè)可選或者默認(rèn)組件的存在與否進(jìn)行編碼。19.3如果“n”小于64K,則該位字段應(yīng)添加到字段列表上。如果“n”大于或等于64K,則應(yīng)按照11.9的過程把這個(gè)“n”位的位字段添加到字段列表上,其前面是作為受約束的整數(shù)的等于“n”位的長度決定因子,它的“ub”和“l(fā)b”都是“n”。注:在這種情況下,“ub”和“l(fā)b”都將被長度過程忽略。這里引用這些過程是為了提供大前導(dǎo)碼的分片。這種19.4前導(dǎo)碼后面應(yīng)依次列出存在的序列值組件的字段列表。19.5對于CANONICAL-PER,如果要被編碼的值是個(gè)默認(rèn)值,則標(biāo)記為DEFAULT的組件的編碼應(yīng)始終不存在。對于BA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 嘴巴里長泡的健康宣教
- 介入手術(shù)分級
- 舌咬傷的健康宣教
- 河南省南陽市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版摸底考試(下學(xué)期)試卷及答案
- 2025年上海市16區(qū)初三語文一模試題匯編之古詩文閱讀(學(xué)生版)
- 烏魯木齊新生維吾爾醫(yī)醫(yī)院有限責(zé)任公司新建新生維吾爾醫(yī)醫(yī)院建設(shè)項(xiàng)目環(huán)境影響報(bào)告書
- 消化內(nèi)科診療指南及操作規(guī)范
- 2024成都商務(wù)車輛租賃協(xié)議式樣版B版
- 2024年物業(yè)管理服務(wù)合同(標(biāo)的:商業(yè)綜合體)
- 2024年西安二手住房交易合同范本3篇
- 藝術(shù)療愈行業(yè)分析
- 中醫(yī)院肺病科年度工作計(jì)劃
- 老年綜合評估知情同意書
- 會(huì)議籌備工作分工表
- 2023火電機(jī)組深度調(diào)峰工況下的涉網(wǎng)性能技術(shù)要求
- 醫(yī)學(xué)英語術(shù)語解密-福建醫(yī)科大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 中國移動(dòng)呼叫中心的精細(xì)化管理
- 內(nèi)燃機(jī)車點(diǎn)檢方法探討
- 2023初一語文現(xiàn)代文閱讀理解及解析:《貓》
- 大四課件感染深部真菌病
- 《太上老君說五斗金章受生經(jīng)》
評論
0/150
提交評論