Как отправить SMS, содержащий персидский текст, через GSM-модем? [Дубликат]

Собственно, подумайте об этом в другом случае. Предположим, что если ваш список таков:

[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]

, и если вы напишете myList[0][0] = 5, вы получите:

>>> 
[[5, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]
>>> 

Как и ожидалось. Но так как вы определяете свою переменную списка следующим образом:

[[1] * 4] * 3

Python обработает ваши коды по этому шаблону. Поэтому, если вы напишете myList[0][0] и ваш список, как указано выше, Python обработает его, как [1]*3. Вот почему все списки первых элементов изменены.

3
задан kaktusas2598 25 July 2014 в 11:20
поделиться

1 ответ

Я нашел, что мне просто нужно было закодировать мой номер в AT + CMGS до UCS2, и теперь он работает:

AT+CMGS="002B003300370030************************"
5
ответ дан kaktusas2598 19 August 2018 в 13:18
поделиться
  • 1
    Да, это правильно. После запуска AT+CSCS="UCS2" каждая строка должна быть закодирована таким образом (пока не будет выбрана другая кодировка символов), поэтому, например, для переключения с UCS2 на UTF-8 будет AT + CSCS = «005500540046002D0038». – hlovdal 29 July 2014 в 17:51
  • 2
    Стоит подчеркнуть, что эта магия «002B003300370030 ..» это просто строка, закодированная в Unicode16-BigEndian, сбрасываемая байтом для байта как HEX ~ "002B / 0033/0037/0030 ..." и он фактически равен "+ 370" от вопроса. (и я знаю, что это eq сказать «кодировать в UCS2», но на самом деле, я знаю много новичков, которые нуждаются в нем, расширяются ..) – quetzalcoatl 18 May 2018 в 08:04
Другие вопросы по тегам:

Похожие вопросы: