キャラクタって何のこと

エクセルバカ相手の「ごっこネタ1)」である。
NOTES
1) エクセルバカが能もないのにやりたがる「バイナリごっこ」「文字コードごっこ」「UTF-8ごっこ」「改行ごっこ」「エンディアンごっこ」「16進数ごっこ」「CSVごっこ」「暗号ごっこ」などを総称したもの。小学校程度のアタマしかない者が微分方程式を解こうとするのに似ている。

次のような「キャラクタ」は今から30年以上も前のパソコン草創期の頃によく使われた言葉である。現在ではもう完全な死語である。意味も通じないだろう。そういう語をエクセルバカがどこかで拾ってきて意味も知らずに使っているだけである(野良イヌ検索)。それにしても、まだこんなバカがいること、バカにしみ込んだ思い込みの強さに驚くばかりである(もう治らないだろうな)。
LOG
153.196.158.101 [18/Mar/2018:19:02:15] vb 16進文字をキャラ
163.135.151.79 [21/Apr/2017:17:22:00] excel HEX ⇒キャラクタ
116.80.165.196 [03/Dec/2015:16:03:46] バイナリ キャラクタ変換
182.249.242.137 [02/Oct/2015:09:15:06] キャラクタ表示 16進数
207.126.248.6 [02/Feb/2012:05:19:55] excel 16進数 キャラクター
221.186.133.105 [09/Feb/2012:15:27:09] エクセルによるバイナリからキャラクタ
110.233.130.146 [21/Feb/2012:23:56:38] キャラクタをバイナリ VBA
110.135.126.105 [01/Jan/2014:23:38:36] excel キャラクタ バイナリ 変換
211.126.194.197 [04/Dec/2014:20:34:19] FileSystemObject キャラクタコード
エクセルバカは「16進数=バイナリ」だと思っているから、これは単にバイナリ(16進数)を可読的な文字(キャラクタ)にしたいという程度のものである。それでうまくいけばログファイルなどによく出てくる16進文字列を逆引き(デコード)したいなどと思っているのかもしれない。

LOG
202.246.252.97 [24/Oct/2016:13:57:29] vb utf8ファイル バイナリ表示
202.214.180.35 [11/Nov/2011:15:36:52] バイナリ キャラクタ表示 unicode vba
210.188.173.126 [06/Feb/2012:17:04:05] バイナリエディタ キャラクタセット utf-8
エクセルバカで「UTF-8」などの語が出てくれば正味のバカだと思って間違いはない。そういうものを理解したり操作したりする能力がない(低能または無能)からである。ここで「utf-8」が入っているのが不可解である。「キャラクタセット」が何を指しているのかも不明である。もうバカ丸出しである。

LOG
202.246.252.102 [20/Feb/2012:13:57:28] excel キャラクタコード変換
これも一体何をすることなのか不明である。「キャラクタコード」とは「文字コード」のことか。そうなるとただの「文字コードバカ」になる。

重要
今どきキャラクタなどという死語を使うのはただのバカである。


キャラクタごっこ

今ではほとんど意味はないものだが、その昔に「キャラクタ」というのに刺激されて大昔にちょっとそれらしいものを作ったことがある。
VB/VBAは子供のオモチャ、手軽に遊べるので頭の体操には最適である。BASICのファイル処理は貧弱で使う気はしないが、実験のつもりでちょっとやってみたものである(笑)。

対象としたファイルはいずれもテキストファイル(Shift_JISとUnicode)で行末の改行はCR/LFである。
これをエクセル内で16進ダンプをして、同時に「キャラクタ」らしきものを表示させてみたものである。

なお、これは作成時期からいえば最初期のもので、以後のバイナリ関係のツールの元になったものである。その意味では記念碑的なものである(骨董品)。
このエリアでいえば、エクセルによるバイナリデータの操作(ipc_0019)の前段階的な動作確認実験のようなものである。そのため、ファイルを最初から最後まで一気に表示するということになっている。読み込み位置や範囲指定はできない。


Shift_JISの場合

これはバイナリエディタの原型である。Shift_JISのテキストファイル以外のどんなファイルに対しても使える。
この実験に使ったファイルは下記のような短いものである。
内容
<title>毎日jp - 毎日新聞のニュース・情報サイト</title>

エクセルを使って余興で作ったバイナリエディタの作成例である。
  1. 任意のファイルについて1行10バイトずつ16進ダンプ表示していく。
    1列おいてその右側にそれに対応するキャラクタを表示する。文字として表示できない改行などの制御文字は表示しない(空白のまま)。
    上の例では<title>や</title>などのキャラクタが読める。このパターンで可読できるのはアスキー文字に限られる。

  2. 1行について10バイト(セルでは10個分)ずつ16進数で表したバイナリデータを書き込めば(バイナリ)ファイルを作成できる。
    最下行は10バイトでなくてもよい。
シート上で16進数を修正して保存すればファイルを書き換えることができる(書き込み)。いわば、バイナリエディタとして使おうと思えば使うこともできる。ただし、これでバイナリファイルを作るには相当な覚悟がいるだろう。通常はこんな浮世離れした原始的な方法(笑)でバイナリファイルを作ることはない。


Unicodeの場合

これはいわゆるバイナリエディタではない。単なる余興ツールである。
この実験に使ったファイルは下記のような短いものである。
内容
This is Unicode string.
これは漢字の文字列テキストです。


改悪退化OSWindows 8.*の場合

上のものは基本的にはWindows 8.*上でもそのまま動作する。しかし、そのまま使うのも芸がないので少し改変した。
  1. 16進ダンプで表示する桁数をそろえたこと(2桁または4桁)。
  2. 16進数であることを示すBASIC方言の「&H」を先頭に付加したこと。

Shift_JISの場合

これはいわゆるバイナリエディタである。
わかりやすいようにShift_JISのテキストファイルを対象にしたが、これはどんなファイルに対しても使える
「キャラクタ」として可読的なものとして表示できるのはいわゆるアスキー文字(半角英数字)だけである。




Unicodeの場合

これはUnicodeのテキストファイルだけを対象にしたものである(2バイト単位で表示)。いわゆるバイナリエディタというものからはずれたものである。



Unicodeでの保存

なお、Unicodeの場合、上のままではファイルの作成・保存はできない(常識)。
ただし、「続・16進ダンプとキャラクタ表示(ipc_0096)」では、この部分は大幅に改造して、このままで作成・保存できるようにした。
もっとも、こんなことをしても使い道はない。単なるBASICのお遊び程度(せいぜいボケ防止の頭の体操)のものである。


どうしてもそれで作成・保存したいというなら、下記のように1バイト単位で行わなければならない(事実上は無理だということである)。


参考
BinaryAnsi.frm@Labo1.xlsm
BinaryUnic.frm@Labo1.xlsm

- 2015/01/24 -




本項補遺/16進ダンプ表示でバイト配列は使わない(ipc_0096)
愚民列伝/前世紀の遺物たち(b1)


Byte配列とバイナリ書き込み(vba_0041)



さて、この大昔の骨董プログラムをちょっと触っている過程で気がついたことがある。1バイト単位での表示に意外に時間がかかっているということである。この点は、Getを使ってもInputBを使っても同じだった。速さはほとんど変らない。
これは、2バイト単位での表示と比べた場合の相対的な感覚の差なのかもしれないが、Excel内部では文字はすべてUnicode(2バイト)の世界だからということも影響しているのかもしれない。

ところで、エクセルバカが思っているものに近いバイナリエディタは上のようなものであろう。 要するに、この連中にとってバイナリとは、「文字コード」や「16進数」が出ていれば何でも「バイナリ」なのである(笑)。特に16進数に対する迷信には度し難いほどのものがある。

そして、文字コードと16進数があればこのようなものでもエクセルバカにとってはバイナリエディタになる(笑)。 そんな箸にも棒にもかからないバカがたむろする世界がエクセルバカの世界である。それは壮大な無知蒙昧暗愚の世界である。



エクセルバカは用語がまともに使えない(知らない)言語障害児である。
LOG
210.151.113.170 [12/Sep/2016:12:07:44] ipc_0041 Excelビットキャラクター
あることないこと、何でもかんでも自分で勝手な言葉を作りまわるからバカは困る。誰に通じると思っているのか。

エクセルバカ(またはドシロウト)の16進数に対する迷信には度し難いものがある(16進数信仰または16進数の呪縛)。エクセルバカは16進ダンプが暗号化したものだと思っているようである。
LOG
114.186.112.21 [13/May/2016:13:01:04] ipc_0041 暗号コード 任意 16進数4ケタ 作りたい
153.142.250.146 [22/Feb/2016:11:37:26] 16進数 暗号解読 エクセル
122.145.249.228 [28/Jul/2015:01:42:50] tips_0016 16進数 暗号 エクセル
122.145.249.228 [28/Jul/2015:01:52:48] ipc_0041 16進数 暗号 エクセル
153.152.90.201 [20/Feb/2016:02:06:47] エクセル アスキー16進 バイナリ16進
意味不明である。


タコの殿堂
キャラクタなんてもう完全に死語ね。

Unicode,UTF-8,UTF-16,Big,Little,Endian,LE,BE,Shift_JIS,SJIS,CR,LF,CRLF,byte,bit,word,CSV,BOM,Encode,Decode,ANSI, Binary,Open,Byte,Get,Put,Input,InputB,Asc,AscB,AscW,Chr,ChrB,ChrW,Hex,Mod,EOF,LOF,Loc,FreeFile,ReDim,Encoding, Left,LeftB,Right,RightB,Mid,MidB,Len,LenB,InStr,InStrB,FileSystemObject,FSO,CreateTextFile,OpenTextFile, バイナリ,テキスト,文字列,文字コード,16進コード,16進文字列,変換,ビッグ,リトル,エンディアン,ユニコード,改行,サンプル, バイト,ビット,ヘキサ,2進数,16進数,読み込み,書き込み,エンコード,デコード,解析,変換,判定,判別,バイナリエディタ, 全角,半角,カタカナ,ひらがな,漢字,