fix: use the Network Name spare-bit count for PNN GSM-7 text (v2.7.21)

EF.PNN decoded 'Miranda@' for the live card's record 2: efPnnText ignored
the number of spare bits in the coding octet (TS 24.008 10.5.3.5a bits
1-3) and unpacked floor(8n/7) septets, so the 7 zero pad bits became '@'.

- gsm7Decode(octets, septets?) takes an exact character count and removes
  a final <CR> used as padding (TS 23.038 6.1.2.1.1).
- efPnnText derives the count from the spare field ((8n - spare)/7 when
  1-7; floor(8n/7) + CR drop for 000 = no information).
- tests: the seven live EF.PNN records (Alfa, Miranda, Win, Mir Telekom,
  +7 Telekom, Fenix, MKS), a UCS2 record and the CR-padding drop.
- docs/uicc/UICC_SPECS.md: CR-padding rule in 10.4 and a new 10.7
  Network Name coding section (outside the repo).
This commit is contained in:
2026-09-21 22:37:26 +03:00
parent f8ba5dea2c
commit e3502c059e
5 changed files with 46 additions and 8 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
const CACHE = 'simple-v223';
const CACHE = 'simple-v224';
const URLS = [
'index.html',
'help.html',