Atlantis
Guest
Thu Apr 04, 2019 6:11 am
Mam pewien projekt, w którym pracuje chiński moduł SIM800L. Urządzenie
ma odebrać SMS-a z tekstem od użytkownika, który będzie dalej
przetwarzany przez mikrokontroler.
Obsługę SMS-ów mam w tej chwili ustawioną w tryb tekstowy (AT+CMGF=1) i
wszystko jest w porządku, jeśli odebrany SMS-nie zawiera polskich
znaków. Wówczas dostaję tekst w naturalnej formie. Jeśli jednak pojawi
się jeden polski znak, to dostaję długi ciąg cyfr i dużych liter. Jak
rozumiem jest to kodowanie UCS2.
W związku z powyższym mam następujące pytania:
1) Czy można skonfigurować moduł w taki sposób, aby zamiast tego po
prostu zamieniał polskie znaki na łacińskie odpowiedniki, albo wręcz
zupełnie je ignorował, wysyłając tekst w naturalnej formie?
2) W jaki najprostszy sposób przekonwertować USC2 do ASCII z taką
właśnie konwersją, tudzież zignorowaniem polskich znaków?
Marek
Guest
Thu Apr 04, 2019 7:49 am
On Thu, 4 Apr 2019 08:11:55 +0200, Atlantis <marekw1986NOSPAM@wp.pl>
wrote:
Quote:
1) Czy można skonfigurować moduł w taki sposób, aby zamiast tego po
prostu zamieniał polskie znaki na łacińskie odpowiedniki, albo wręcz
zupełnie je ignorował, wysyłając tekst w naturalnej formie?
Raczej tego moduł nie zrobi, przynajmniej ja się nie spotkałem z
modułem z taką funkcjonalnością, to raczej leży po stronie
aplikacyjnej hosta komunikującego się z modułem.
Quote:
2) W jaki najprostszy sposób przekonwertować USC2 do ASCII z taką
właśnie konwersją, tudzież zignorowaniem polskich znaków?
Normalnie, ucs2 to utf16, ja robię to prostą funkcją tłumaczącą
znaki diakrytyczne w SMS z utf16 na "bez akcentowe" ą > a itp.
--
Marek