[aprssig] Unicode in APRS messages

Heikki Hannikainen hessu at hes.iki.fi
Sun May 11 11:53:06 EDT 2014


Hi,

On Sun, 11 May 2014, SARTrack Admin wrote:

> I have now added UTF8 encoding/decoding to the TCP interface... And this 
> works perfectly when I use my own program, while testing on a 'aprsc' based 
> server. Russian and other languages with 'funny' characters now come out 
> correctly on the other side.
>
> However, when I tested it with the APRS client 'AGWTracker', garbage came 
> out.

I think both APRSISCE/32 (http://aprsisce.wikidot.com/) and YAAC 
(http://www.ka2ddo.org/ka2ddo/YAAC.html) do UTF-8 encoded Unicode 
messaging on the desktop.

APRSdroid for Android (http://aprsdroid.org/) supports it too.

aprs.fi supports UTF-8 just as well.

You can transmit a 'hello' message to a callsign 'UTF-8' on the APRS-IS, 
I've got an autoresponder set up that will reply with a few messages 
containing UTF-8 encoded text, to see if your setup can receive 
international text.


I think AGWTracker is the oddball one, using a fixed 16-bit unicode 
encoding (UCS-16? some Microsoft default internal encoding?), which 
requires the user to tick a checkbox to enable and disable it, depending 
on if they're messaging to another AGWTracker or not. If you send regular 
english text using that encoding to an old ASCII client, it won't work 
(every second byte is a binary 0 / NULL byte for these regular english 
ones). With UTF-8 we don't need to have a setting to enable/disable it, as 
UTF-8 and ASCII are compatible as long as you don't actually transmit 
characters outside the ASCII range. Even then, the old non-UTF8 clients 
will just print 2-3 characters of garbage for the ÅÄÖ and 日本語, and 
print English around them just fine. UTF-8 doesn't use NUL bytes at all, 
either. This is pretty much why UTF-8 has become the standard for most of 
the Internet - it works for latin characters even if you accidentally send 
UTF-8 to an ASCII-only recipient application.

> I would like to know how other APRS clients deal with this issue, and what 
> Encoding (if any) is being used to transfer Unicode APRS packets over TCPIP.
> And how this type of data is dealt with, when it must be transfered over the 
> radio, as this is obviousely ASCII/ANSI based...

UTF-8 encoding is commonly implemented on APRS. It works great over radio, 
and even with old digipeaters and igates, since it's ASCII compatible 
(doesn't use NUL bytes, and 'high' >127 values are only used for the 
characters outside ASCII text range).

   - Hessu, OH7LZB


More information about the aprssig mailing list