いつもお世話になります。
現在Windows Mobile端末上で文字コードをUnicode→S-JISに変換するのに
表記関数を使用しているのですが、下記問題に悩まされております。
基本的な質問で申し訳ないのですがよろしくお願いします。
■Windows Mobile機でWideCharToMultiByte()を使用し"aあ"を文字コード変換した場合に
得られた変換結果pszCharをデバッガで表示すると
→pszChar[0] = 0x61 'a'←OK
→pszChar[1] = 0xff82'ツ'←char配列の要素に2バイトの値が入っている??本来は0x82では?
→pszChar[2] = 0xffa0'□'←char配列の要素に2バイトの値が入っている??本来は0x61では?
デバッグ表示したときの上記"ff"はどういうものなのでしょうか?
(1バイトの要素内に2バイト分入っている??)
試しにWindows PC上で同じように変換してみたのですが、このときは
→pszChar[0] = 0x61 'a'
→pszChar[1] = 0x82
→pszChar[2] = 0xa0'・'
というように意図する結果となりました。
(ただ、差異としてWideCharToMultiByteを使うときのCodePageがWM機はCP_ACP、
Windows PC時はCP_THREAD_ACPを使いました。WM機に対してCP_THREAD_ACPを使うと変換できなかったため)
文字コードに関しての知識不足のせいだとは思いますが、ご存知の方がいらっしゃいましたら何卒よろしくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
→pszChar[1] = 0xff82 'ツ' ←char配列の要素に2バイトの値が入っている??本来は0x82では?
→pszChar[2] = 0xffa0 '□' ←char配列の要素に2バイトの値が入っている??本来は0x61では?
は 2バイトの値が入っているのではなく『負の値』つまり -であるという表現です
実際に代入されている値は 0x82、0xA0です
pszCharの宣言を
unsigned char pszChar[256];
などと符号無しcharとして宣言しておけば 0xFFxxといった表現はされません
呼び出し時に LPSTRにキャストが必要になってしまいますが ・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- Excel(エクセル) 全角文字「ヴ」の半角文字「ヴ」への変換方法について 3 2022/11/05 12:07
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
- マウス・キーボード 教えて! AppleのMagic Keyboard(JIS)をWindows 10で使用次第のですが 2 2022/06/01 18:07
- その他(パソコン・周辺機器) WINDOWS11 IMEの日本語入力で困っています 4 2023/04/29 19:24
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
int型のゼロ埋め
-
javascriptで文字列のsjis利用...
-
Path型をString型へ変換する(Java)
-
C言語32bitから64bitの移行につ...
-
カタカナをローマジに変換する。
-
javaの初歩的な質問です。
-
Visual Studio 6.0でビルド可能...
-
replace関数で複数の文字の変換...
-
javaでのOracleのデータ登録の...
-
javaの文字コード変換について
-
byte配列をImageに変換する
-
文字リテラルについて
-
TEXTAREAからのデータを改行入...
-
byte[] を long,float とかに...
-
JIS8の半角かな文字をUnicodeの...
-
カタカナ変換
-
タイピングゲーム作成中 複数...
-
数字を読みに変換する方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
Path型をString型へ変換する(Java)
-
カタカナをローマジに変換する。
-
javascriptで文字列のsjis利用...
-
int型のゼロ埋め
-
Visual Basic でのコードをASCI...
-
文字列の比較
-
COBOLで半角カナを全角カナに変換
-
JavaのStringクラスに「外字」...
-
C言語32bitから64bitの移行につ...
-
byte[] を long,float とかに...
-
UTF-8とUnicodeの互換性
-
[Javascript]エンターキー押下...
-
エクセルVBAで「〜」が表現でき...
-
Windows-31Jからutf-8への変換...
-
substring バイト単位でやりたい
-
IBM漢字コード⇒SJIS変換方法
-
byte配列をImageに変換する
-
Arduino(C言語) String "1101" ...
おすすめ情報