- X.690 「信息技術 - ASN.1編碼規則:基本編碼規則(BER),典型編碼規則(CER)和區分編碼規則(DER)的規範」
特別地,§8.5.6.4(d),關於REAL值的用可變長度尾數和指數的二進制編碼,內容如下:
「如果位2至1是11,那麼第二個c ontents八位位組編碼的八位位組第數,X說,(爲一個無符號二進制數)用於編碼指數的值,和所述第三至(3 X加)(含)內容八位字節將指數的值編碼爲二進制補碼二進制數; 的值X應至少有一個; 所發送的指數的1到9位不得全零或全1。」
這是不一致的,如從八比特組‘第三至(X + 3)[RD]’其實X + 1字節。
是任何人都能夠澄清這一段?
我認爲它應該閱讀或者
」 ......那麼第二個內容八位編碼012小於一個八位字節的數目,X說,... 「
或
」 ......第三至(X加上2)第二(含)內容字節......」
而且,是X真的最小值1,或者是0 意思 1個八位字節?
附錄:如果任何人都可以給我提供各種BER編碼值(帶有其含義的字節串)的一些測試數據,那將是有幫助的。
什麼我迄今是
- 09 00 = 0(零)
- 09 01 40 = + INF(無窮大)
- 09 01 41 = -INF
- 09 08 03 2b 31 2e 30 65 2b 30 =「+ 1.0e + 0」= 1.0(精確十進制)
- 09 05 80 fe 55 55 55 = 1398101。25(二進制,0x555555 * 2^-2)
一個例子我不知道的是:
- ? 09 06 83 00 fc 00 00 01 = 0.0625(二進制,0x000001 * 2^-4)?
另外,好像沒有爲NaN定義的編碼(不是數字)。