E1.20 RDM (Remote Device Management) Protocol Forums

E1.20 RDM (Remote Device Management) Protocol Forums (http://www.rdmprotocol.org/forums/index.php)
-   RDM Interpretation Questions (http://www.rdmprotocol.org/forums/forumdisplay.php?f=5)
-   -   ISO/IEC 646 text encoding (http://www.rdmprotocol.org/forums/showthread.php?t=1302)

FishAI November 4th, 2019 09:00 AM

ISO/IEC 646 text encoding
 
Hello,
I am developing a software tool which can use the RDM protocol and I have a few questions regarding the mentioned ISO/IEC 646 standard when it comes to handling text transmitted via RDM.

At first, ISO/IEC 646 is meant to be a 7 bit standard, but from the fixtures I've seen, they all encode their labels in 1 byte per character.
So am I assuming correctly that most significant bit is always padded with a 0 to comply with the byte pattern?

Second, ISO/IEC 646 defines code points which can be replaced by a local character set, for example 0x23 or 0x5B. What is the correct character set to use when it comes to displaying the text? There are a few options:
  1. Displaying the american character set, where 0x23 is the symbol # and 0x5B is the symbol [
  2. Displaying the character set which corresponds to the current language setting in the fixture (via GET:LANGUAGE, PID 0x00B0)
  3. Displaying the character set which is currently used on the machine running the software, but that could produce inaccurate results

Finally, ISO/IEC 646 defines symbols which are not printable characters, e.g. 0x7F (DEL) or 0x0B (VT). How would a software handle the display of said characters, do you have any advice?

At the time I am very confused by the information E1-20 has given me. Did I miss something?
Best regards,
Robert

sblair November 4th, 2019 11:59 AM

Good question. I don't think this has ever come up before as a question. All characters in RDM are handled as 1 byte per character. Yes, implementation follows standard ASCII representation where the leading bit would be 0.

http://www.asciitable.com/

If my device has Multilanguage support then I would probably display the messages based on what the LANGUAGE PID is set to. I think you'll find most probably just return using the American character sit. There is no right and wrong here and you'll probably get better responses from others here that have more international language experience than I do.

It is really left up to the implementer how they want to handle it in the way that most makes sense for their product.

As far as non-printable characters there really isn't much I think you can do other than to just ignore them.

FishAI November 5th, 2019 06:16 AM

Hello sblair,
thank you for the very quick reply.

I ended up using the american code set only and replacing all non printable characters with the replacement symbol �.
I further decided not to switch code sets for different fixture languages.

It would be great if the standard committee could determine the code set to use in E1-20 to avoid confusion of other developers implementing the standard.
Although I hope they will find your helpful post.


All times are GMT -6. The time now is 10:25 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.