スナックelve 本店

バツイチ40代女の日記です

またお前(文字コード)か!!

昔・・・地上波デジタル放送が始まる前位に、その電波をチェックする装置の字幕を出す部分を担当したことがあります・・・。描画が遅くて使い物にならなかったっぽいんだけど・・・(;´Д`)
その時も文字コードで苦しんだのですよ。理解できなくて。RFCじゃねーしなんだっけな? なんかルールがあったんですわ。

だいたい受信した文字列(数字)から文字に変換ってわけわからんよね!!

さて、時は移り、今私を苦しめるのはEXCEL文字コードでやんす(´;ω;`)ウゥゥ
パーフェクトExcelVBAのp.261辺りを我流でやってるんです。stringsモジュールの関数を一通りチェックしようと思いまして・・・。

英語シートと日本語シートに分けて関数とその結果をセルに入力していきました。
f:id:elve:20200526185207p:plain

StrConvの文字コード変換で分からんくなる。

vbUnicode 64 システムの既定のコードページを使用して、文字列をUnicodeに変換します。 (Macintosh では使用できません。)
vbFromUnicode 128 文字列を Unicode からシステムの既定のコードページに変換します。 (Macintosh では使用できません。)
StrConv 関数 (Visual Basic for Applications) | Microsoft Docs

私は「A1」に入っているのが「SJIS」で「既定の文字コード」だと思っていたんですね。
f:id:elve:20200526185826p:plain
こうなるはずだと思ったのに文字が化けてしまう・・・。はにゃ

教えて偉い人(すぐ人に聞くw)いつもすみません。ありがとうございます。

A1の値がUnicodeだった!! じゃ、エクセルの既定の文字コードってのがUnicodeなのかい?
というわけで混乱する。

システムの既定のコードがSJISということで納得できた。

しかし・・・既定のコードページってなんなのさ・・・。
たどり着いたページがやたら乱暴な口調で哀しくなった。バカですみません(´;ω;`)ウゥゥ
www.mermaid-tavern.com

システムってのがEXCELじゃなくてOSってことやね。だからマッキントッシュでは使えませんよってのね。うーむ。わからんけどもワカタことにする!!