I'm working on implementing a Backend Provider for imagekit.io, the implementation seems rock solid till now, but I have hit a snag regarding file encoding (this is for unencrypted files)
ImageKit.io does not support anything other than alphanumeric unicode characters, how is encoding handled in rclone code?
P.S. I am currently working at ImageKit as a Tech Lead
I think the rclone encoding system will not be powerful enough for you. Most cloud storage systems support the whole of unicode except for a few things like : or ? which rclone can substitute.
Looking at ASCII it looks like you don't support these characters (ignoring control characters)
However you don't support rclone's unicode equivalents *`\:␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟␡$"#␠~<> so the standard encoding scheme won't work.
What I'd suggest you do is pick a unicode character that you do support, say ª (I chose this one because it is a 2 bytes when encoded into utf-8).
Then use this as an escape sequence to encode the UTF-8 character values in hex. UTF-8 is self synchonizing so there will either be 2,4,6, or 8 hex digits after the ª
Code point ↔ UTF-8 conversion chart from wikipedia
I'll look into this, I was able to encode all unsupported characters to _ like it is done by the upload logic, but as per my understand of the code, the test cases are written in a way where they are strict in their assertions
There is a very generous limit of 2048 characters on the backend, so it shouldn't be a problem