• 追加された行はこの色です。
  • 削除された行はこの色です。
#author("2018-06-13T03:14:32+00:00","","")
[[dragon spx]]

*文字コードの扱い [#y9d86858]
WindowsでSJISベースで汲まれた文字表示ルーチンをiOS/Androidで動作させるときに毎度変換が必要になるため、Windowsに依存しない変換方法をメモ。

***SJIS ->UTF-8 / UTF-8 -> SJISに変換したい [#t2f4c930]

 #include <locale.h>
 
 void TestProg()
 {
 	char *mbstbl = {
 		"あ"	//82a0 SJIS
 	};
 	wchar_t wcstbl[32] = {
 		L"あ",	//4230 UTF-8
 	};
 	setlocale(LC_ALL, "JPN");
 
 //	wchar_t tblw[32];
 //	mbstowcs(tblw, mbstbl, 32);
 
 	//utf-8 -> sjis
 
 	char tblm[32] = {0};
 	size_t ret = wcstombs( tblm, wcstbl, 32);
 
 	//tblm = 82a0 ->sjis
 
 	//sjis ->utf16
 
 	wchar_t tblm2[32] = { 0 };
 	ret = mbstowcs(tblm2, tblm, 32);
 
 	//4230 sjis ->utf16
 
 	tblm2[0] = 0x00;
 	ret = mbstowcs(tblm2, mbstbl, 32);
 
 	//4230 sjis ->utf16
 
 	ret = wcstombs(tblm, tblm2, 32);
 
 	//8xa0 utf16 -> sjis
 
 }