driplineorg / dripline

Slow controls for medium scale physics experiments based on AMQP centralized messaging
http://driplineorg.github.io
2 stars 0 forks source link

Use UTF-8 as the standard encoding #12

Open nsoblath opened 5 years ago

nsoblath commented 5 years ago

We should use UTF-8 as the encoding for all strings. This will be backwards compatible with our current setup. It will allow international use of dripline. And it's supported by rabbitmq (queue names are UTF-8, for instance).

This will require updates wherever string parsing is done in the C++ library, including a few things in Scarab (e.g. addressing locations in a paramedic hierarchy). We should verify that there's no problem with the YAML library. The JSON library already handles UTF-8.

An external library will be needed for appropriate handling.

laroque commented 5 years ago

In python 3, strings are all stored as unicode objects, with UTF-8 encoding by default. For dripline 3 work we're developing exclusively in python 3 and so there should be no issues with this. We may need to be careful if we're trying to have legacy python 2 support for this in dripline 2, but it shouldn't be a problem.

I suggest we promote from "proposal" to "proposal accepted" and plan to incorporate this whenever we have someone with the cycles to put it in, perhaps adding it to the dripline 3 release?

nsoblath commented 4 years ago

Everything should be compatible with unicode, with the possible exception of pieces of dripline-cpp. In a future standards release this will be a requirement. See driplineorg/dripline-cpp#39.