Search the net for "AT+CMGL". You will find descriptions for the list SMS messages command.
Those should also mention that there are two modes for the message output format: Text mode and PDU mode which can be selected with
AT+CMGF
.
So you might switch to text mode to get readable output.
Otheriwse you have to convert the hex data string. How to do this depends on the PDU format used by your modem (check the documentation) and which programming language you want to use.
Your data are obviously 16-bit hex values. So get sub strings of 4 characters, convert them to binary (e.g. using
strtol()
with C/C++) and write those values to a buffer. If the decoding is UCS2, conversion is simple because that is UTF-16 BE but converting the string will swap the bytes so that the result is UTF-16 LE as used by Windows internally and also supported by Linux. If it is something else it might be necessary to get a decoder (e.g. using a GSM library that supports the used encoding).
Related links:
Short Message Peer-to-Peer - Wikipedia[
^]
SMS Alphabets · bitcoder/ruby_ucp Wiki · GitHub[
^]