文字化けについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
tend-11001
記事: 3
登録日時: 5年前

文字化けについて

#1

投稿記事 by tend-11001 » 5年前

printf("x‚Í%d,y‚Í%d‚Å‚·B\n", x, y);

友達から教えてもらったのですが、この文字化けのようなものをもとにもどして欲しいのですが
だれか教えてください。

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: 文字化けについて

#2

投稿記事 by みけCAT » 5年前

これはどのようにして教えてもらったのですか?
もしファイルでもらったのであれば、文字化け?したテキストではなく
そのファイルの該当部分のデータ(バイト列)をそのまま提示していただけると、
もしかしたらわかりやすくなるかもしれません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

かずま

Re: 文字化けについて

#3

投稿記事 by かずま » 5年前

「xは%d,yは%dです。\n」であろうと推測しました。

コード:

Shift-JIS で次のようになる。
 x  は    %  d  ,  y  は    %  d  で    す    。    \  n
78 82 cd 25 64 2c 79 82 cd 25 64 82 c5 82 b7 81 42 5c 6e

各バイトを 2バイトに拡張。
   x    は        %    d    ,    y    は        %    d    で        す         。       \    n 
0078 0082 00cd 0025 0064 002c 0079 0082 00cd 0025 0064 0082 00c5 0082 00b7 0081 0042 005c 006e

なぜか 0082 が 201a と文字化け。
   x    ‚    Í    %    d    ,    y    ‚    Í    %    d    ‚    Å    ‚    ·         B    \    n 
0078 201a 00cd 0025 0064 002c 0079 201a 00cd 0025 0064 201a 00c5 201a 00b7 0081 0042 005c 006e

これを UTF-8 に変換したものが HTML で流通。
 x   ‚        Í    %  d  ,  y   ‚        Í    %  d   ‚        Å     ‚        ·          B  \  n
78 e2 80 9a c3 8d 25 64 2c 79 e2 80 9a c3 8d 25 64 e2 80 9a c3 85 e2 80 9a c2 b7 c2 81 42 5c 6e
UCS2 の 0081、UTF-8 の c2 81 は、制御文字

返信

“C言語何でも質問掲示板” へ戻る