#1
by 焼肉 » 2年前
お世話になっております。
現在、ビットマップフォントを使用する関係でユニバーサル文字名から数値の変換を試しているのですが、うまくいきません。
コード:
std::string c = "鳥";//40165(9CE5)
char c2[] = u8"\u9CE5";//u8"\u9F3B";
int byte = std::strlen("鳥");//std::strlen("鼻");//std::strlen("鼻");// 3byte
LONG num = (LONG)(c.c_str());//
DrawFormatString(3,30,GetColor(255,255,255),"char c1: %s c2: %s num %ld byte %d", c.c_str(), c2, num, byte);
// 出力 char c1: 鳥 char c2:鳥 num 10891008 byte 3
コード:
std::string c = "鼻";// 40763(9F3B)
char c2[] = u8"\u9F3B";
int byte = std::strlen("鼻");//std::strlen("鼻");//std::strlen("鼻");// 3byte
LONG num = (LONG)(c.c_str());
DrawFormatString(3,30,GetColor(255,255,255),"char c1: %s c2: %s num %ld byte %d", c.c_str(), c2, num, byte);
// 出力 char c1: 鼻 char c2:鼻 num 10891024 byte 3
ttps://
www.marbacka.net/msearch/tool.php#str2enc
↑のサイトですと正常に変換できるので何かありそうなのですが、何かヒントでも良いので教えてくださると助かります。
お世話になっております。
現在、ビットマップフォントを使用する関係でユニバーサル文字名から数値の変換を試しているのですが、うまくいきません。
[code]
std::string c = "鳥";//40165(9CE5)
char c2[] = u8"\u9CE5";//u8"\u9F3B";
int byte = std::strlen("鳥");//std::strlen("鼻");//std::strlen("鼻");// 3byte
LONG num = (LONG)(c.c_str());//
DrawFormatString(3,30,GetColor(255,255,255),"char c1: %s c2: %s num %ld byte %d", c.c_str(), c2, num, byte);
[/code]
// 出力 char c1: 鳥 char c2:鳥 num 10891008 byte 3
[code]
std::string c = "鼻";// 40763(9F3B)
char c2[] = u8"\u9F3B";
int byte = std::strlen("鼻");//std::strlen("鼻");//std::strlen("鼻");// 3byte
LONG num = (LONG)(c.c_str());
DrawFormatString(3,30,GetColor(255,255,255),"char c1: %s c2: %s num %ld byte %d", c.c_str(), c2, num, byte);
[/code]
// 出力 char c1: 鼻 char c2:鼻 num 10891024 byte 3
ttps://www.marbacka.net/msearch/tool.php#str2enc
↑のサイトですと正常に変換できるので何かありそうなのですが、何かヒントでも良いので教えてくださると助かります。