Another Problem: Encoding Example: "Entw�rfe"
The Mullberry Client sends "Entw�rfe" encoded: Entw&APw-rfe
Following the Rules, I have changed an Base64 Encoder to handle the mod. UTF7:
but the results of Encoding shouldn't really change a lot. My result of Encoding was this Entw&/A-rfe
So what's right now for the Character "�" following mod. UTF7?
Character --> � mullberry --> &APw- mine --> &/A-
Why could mine be right?
I have checked some sources in the web. There I found a site where I could online Encode text into Base64 and for the Character "�"
I got the same Code like have with my encoding: /A.
Why could mine be wrong?
I've got another Base64 Encoder (but without source code) and I get the encoding like in Mullberry.
So what's the right Encoding? Why is that the right? What could probably be my fault?
UTF-7 (IMAP-modified or not) is a conversion of UTF-16, so each character you pass in is a two-byte unicode value (most significant byte first). So, the base-64 conversion is of the byte stream { 0x00, 0xfc }, giving "APw=", and therefore "&APw-" in modified UTF-7.
You are incorrectly base-64 converting { 0xfc }, which isn't UTF-16 (it's half a character). That "/A==", as the base64 conversion. Even if it were the correct input, the modified UTF-7 in this case would be "&,A-", I believe (/ becomes ,).
--Grant
