トップページ > プログラム > 2014年07月06日 > o4RIpn+i

書き込み順位&時間帯一覧

25 位/233 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000001030004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
76
Excel VBA 質問スレ Part34

書き込みレス一覧

Excel VBA 質問スレ Part34
76 :デフォルトの名無しさん[sage]:2014/07/06(日) 18:13:03.33 ID:o4RIpn+i
教えて下さいませ VBAでの文字操作で
Str1 = ChrW(&H3042):      Debug.Print Str1, Hex(AscW(Str1))
Str1 = ChrB(&H42) & ChrB(&H30): Debug.Print Str1, Hex(AscW(Str1))
Str1 = ChrB(&H30) & ChrB(&H42): Debug.Print Str1, Hex(AscW(Str1))

<結果>
あ 3042
あ 3042
? 4230

となったんですが
 ChrB(&Hnn) & ChrB(&Hnn)
とする時には 逆にしないと いけないのは なぜなんでしょうか

そもそも使い方が間違っているのか
何か理由があるのか知りたいでのす。

よろしくお願いします。
Excel VBA 質問スレ Part34
78 :デフォルトの名無しさん[sage]:2014/07/06(日) 20:00:32.87 ID:o4RIpn+i
>>77
ありがとう
UniCode自体は知識として知ってはいたけど
Excelは BEだと 思い込んでた ChrW()の返り値が BEなんだもん

いままではChrW()使っていたけど
クグっていた時に偶然見つけたのです
でやってみたらアレ?って感じで

という事は
 内部     :UniCode(Litle Endian)
 AscB(),ChrB():バイナリ
 AscW(),ChrW():UniCode(Big Endian)
 Asc(),Chr() :Shift-JIS(日本語環境時)
という理解でいいのかな?
Excel VBA 質問スレ Part34
80 :76[sage]:2014/07/06(日) 20:20:28.44 ID:o4RIpn+i
>>79
うん おもいっきり 混乱してる

で自分で気づいた事
×Excelは BEだと 思い込んでた ChrW()の返り値が BEなんだもん
○Excelは BEだと 思い込んでた AscW()の返り値が BEなんだもん

他に 理解の上で おかしい点ある?
Excel VBA 質問スレ Part34
83 :76[sage]:2014/07/06(日) 20:52:13.02 ID:o4RIpn+i
>>81-82
ありがと

お二人が言われている事全てを理解できて ないけど
根本的に
>excelやunicodeに依存する話じゃない。
って事なんだろうなとは思った

さすがに
CPUのアーキテクチャ云々は
趣味でVBAを扱っている身としては 考えた事もなかった


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。