[問題] 中文字串無法轉成Unicode

看板C_and_CPP作者 (ttfor)時間11年前 (2014/04/01 12:16), 11年前編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/2 (看更多)
首po,排版或其他地方有錯,請指正及見諒,謝謝! 各位大大好,想問有關中文字串轉unicode的問題, 先前已經爬文過,但還是無法解決問題。 目標:將中文字串轉為10進位或16進位Unicode http://ppt.cc/ZHkD 第一個版本: http://pastebin.com/dJ5sNEyn 第一個版本可以順利將"典故"轉成Unicode(78:51:45:65), 但因為我需要的是可以在L後丟變數(例:L"變數"), 因此將程式改成第二個版本:http://pastebin.com/UCZivyEd 輸出結果變為ffffffa8:ffffffe5:ffffffac:47。 我不了解為什麼程式碼從這樣: char * str = (char*)(L"典故"); 變成這樣: char * str3 = (char*)(L"%s", str1.c_str()); 跑出來的結果就錯了... 請求各位大大解答,或是有其他做法,也請分享! 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.166.254.74 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1396325781.A.624.html ※ 編輯: ttfor (118.166.254.74), 04/01/2014 12:36:00

04/01 12:56, , 1F
這問題大到我不知該從何講起..
04/01 12:56, 1F

04/01 12:59, , 2F
指標和sizeof使用錯誤、應該用wstring
04/01 12:59, 2F

04/01 13:00, , 3F
還有 (L"%s", str1.c_str()) 這不是你想要的那樣...
04/01 13:00, 3F

04/01 13:01, , 4F
第一個會對那是因為很多巧合 XD
04/01 13:01, 4F

04/01 18:06, , 5F
原來如此QQ,我應該先研究什麼好呢?wchar_t?
04/01 18:06, 5F

04/01 18:07, , 6F
啊看錯,我應該先研究wstring?
04/01 18:07, 6F
文章代碼(AID): #1JEZsLOa (C_and_CPP)
文章代碼(AID): #1JEZsLOa (C_and_CPP)