理由は、どスランプとか開発作業とか。
中核の処理は動くようになったが、まだiOSへの対応については手つかず。
ずっとWindowsのCygwin上で開発してたので、Xcodeも忘れてしまった(^_^)。
まずはその思い出しから始めないと。
ということで、超久しぶりの更新は、そのプログラム中で使っている処理を1つ。
UTF8の文字コードをUTF16に変換する処理。
ただし、UTF8で32ビットの範囲に収まるコードのみ。
UTFまわりの処理はインターネットで探しても 意外と見つからない。
最近はOSや言語レベルでサポートされているようで、
Cでの記述、というかフローが正確にわかる物が無かった。
ということで、公開。
ulong Utf8ToUtf16(ulong b) { if (b<=0xff) return(b); // ASCII if (b<=0xffff) { return ( (b16(b) & 0x1f) << 6) + (b8(b) & 0x3f); } return ( ((b24(b) & 0xf) << 12) + ((b16(b) & 0x3f) << 6) + (b8(b) & 0x3f) ); }
0 件のコメント:
コメントを投稿