好吧,我发现了这一点,并想我会在这里添加一个答案,以防有其他不幸的灵魂必须这样做 - 名为GSM Technical Specification(第 10.2.4 节)的 PDF 包含答案,相关位是:
PLMN 内容:移动国家代码 (MCC) 后跟移动网络代码 (MNC)。编码:根据 TS GSM 04.08 [14]。
- 如果需要存储少于最大可能数 n,则多余的字节应设置为“FF”。例如,MCC 使用 246,MNC 使用 81,如果这是第一个也是唯一的 PLMN,则内容如下所示: 字节 1-3:'42' 'F6' '18' 字节 4-6:'FF ''FF''FF' 等
所以我的怀疑是错误的!
我需要从左侧读取交换数字,因此前两个字节将是 MCC,因此232f
MNC 将是01
然后我丢弃 f,我有 232 和 1!很高兴一个被排序。
例如,在 c# 中,您可以这样做:
string plmn = "whatever the plmn is";
string mcc = new string(plmn.Substring(0, 2).Reverse().ToArray())
+ new string(plmn.Substring(2, 2).Reverse().ToArray())
.Replace('f', ' ')
.Trim();
string mnc = new string(plmn.Substring(4, 2).Reverse().ToArray())
.Replace('f', ' ')
.Trim();