There seems to be an issue with the Unicode character handling.
I am able to encode ↘ for example which is U+2198
Raw bytes encoded are:
40 7e fb bb fe 28 69 82 00 ec 11 ec 11 ec 11 ec
However a larger Unicode character 🔝 is U+1F51D
This gets encoded with the following raw bytes:
40 9e fb bb fe da 0b de db 49 d0 ec 11 ec 11 ec
Somehow this is not correct because of a failure to reproduce the Unicode character, although I'm still unsure exactly what the failure is, I suspect it is in QR8BitByte().