C言語でShiftJISからUTF-8に変換するコードをライブラリは使用しないで書いて下さい。
以下はC言語でShiftJISからUTF-8に変換する簡単なコードです。このコードでは、ShiftJISの1バイト目が0x81以上0x9F以下または0xE0以上0xEF以下の場合には2バイト文字、それ以外の場合には1バイト文字として扱います。
#include <stdio.h>
void sjis_to_utf8(char *sjis, char *utf8) {
unsigned char c1, c2;
while (*sjis != '\0') {
c1 = *(unsigned char *)sjis++;
if (c1 <= 0x7F) {
*utf8++ = c1;
} else {
c2 = *(unsigned char *)sjis++;
if ((0x81 <= c1 && c1 <= 0x9F) || (0xE0 <= c1 && c1 <= 0xEF)) {
*utf8++ = ((c1 << 8) | c2) + 0x3C00;
} else {
*utf8++ = c1;
sjis--;
}
}
}
*utf8 = '\0';
}
int main() {
char sjis[] = "こんにちは、世界!";
char utf8[100];
sjis_to_utf8(sjis, utf8);
printf("%s\n", utf8);
return 0;
}
文字コード総合スレ part14
■ このスレッドは過去ログ倉庫に格納されています
175デフォルトの名無しさん
2023/03/19(日) 17:30:01.32ID:NPoZApcF■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 両足切断された30代女性が意識回復、軽トラックと車に挟まれた事故 40代男を逮捕 東京・世田谷区三軒茶屋 ★2 [お断り★]
- 【野球】また下剋上 3位・DeNAの日本シリーズ進出に困惑 「邪道」「これでいいのかプロ野球」「ペナントレース勝ち抜いた意味ない」★3 [冬月記者★]
- 「イオンモールおじさん」にSNS賛否…中年男性のファッションは何が正解? 400人アンケートで見えた「over50男性のリアル」 [七波羅探題★]
- 横浜市長選、原沢敦美氏が当選確実 パワハラ辞職の山中竹春氏ら破る :朝日新聞 [少考さん★]
- 謙虚さが低い男性ほど「男性は不当に扱われている」と感じて男性の権利擁護活動を支持する傾向があるという研究結果 [少考さん★]
- 【サッカー】日本代表MF 久保建英(ソシエダ) 待望の今季初ゴール! 7試合ぶりに先発 マラガ戦で圧巻のゴラッソ! [阿弥陀ヶ峰★]
- トランプさん、ゼレンスキーを長文で批判 [737440712]
- 【訃報】ブラックマンデー再来か、日経平均先物、大幅マイナス、半導体逝く [943688309]
- 【高市悲報】 逮捕状、紙からデジタルへ。タブレットに表示された逮捕状を示して執行が可能に。刑事訴訟法改正 [566475398]
- 使い所の難しい気持ち悪すぎるLINEスタンプが発見される [253839187]
- 【動画】米空軍兵士、アメフト試合前のロープ降下で死亡 高さ約49mから落下 [834922174]
- ジャップは反移民感情高めてどうすんの?おまえが外国人労働者様の抜けた穴を埋めてくれるの? [358195575]