回答編集履歴

3

追記

2020/09/16 05:36

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

test CHANGED
@@ -22,13 +22,15 @@
22
22
 
23
23
 
24
24
 
25
+ Wikipedia [コンピュータの数値表現](https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AE%E6%95%B0%E5%80%A4%E8%A1%A8%E7%8F%BE)(追記
26
+
25
27
 
26
28
 
27
29
  > 再び 2進数
28
30
 
29
31
 
30
32
 
31
- 単位は``bit``になりますので、 テキスト化すると、``0``,``1`` の値はそれぞれ、``byte``単位の ``0x30``,``0x31`` になるはずです。
33
+ 2進数の単位は``bit``になりますので、 テキスト化された ``"0"``,``"1"`` の値はそれぞれ、16進数(単位は``byte``の ``0x30``,``0x31`` になるはずです。
32
34
 
33
35
 
34
36
 

2

追記

2020/09/16 05:35

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

test CHANGED
@@ -58,11 +58,17 @@
58
58
 
59
59
 
60
60
 
61
+ /*
62
+
63
+ // 参考 binary-string : 1byte ごとに String.fromCharCode() で文字列化する
64
+
61
65
  var binstr = bytes
62
66
 
63
67
  .map( n => String.fromCharCode(n) )
64
68
 
65
69
  .join(""); // => "Hello,world!" 現在は utf-8 テキストデータに限って利用
70
+
71
+ */
66
72
 
67
73
 
68
74
 
@@ -76,6 +82,10 @@
76
82
 
77
83
  * Blobの派生オブジェクト[File](https://developer.mozilla.org/ja/docs/Web/API/File/File) もあります
78
84
 
85
+
86
+
87
+ 上記コードの続きで
88
+
79
89
  ```javascript
80
90
 
81
91
  //var blob = new Blob([dataToSave], {type: "application/octet-binary"});
@@ -83,3 +93,17 @@
83
93
  var file = new File([dataToSave], "filename", {type: "application/octet-stream"});
84
94
 
85
95
  ```
96
+
97
+
98
+
99
+ [過去のご質問にも回答](https://teratail.com/questions/288289#reply-408769)していますが、``convertArrayBufferToHexArray()`` は、ArrayBufferから、通常の配列に変換(各バイトの値は HEXで示す2文字にする)しています。
100
+
101
+
102
+
103
+ ```javascript
104
+
105
+ // buf はfileから読んだ ArrayBuffer
106
+
107
+ var hexstring = convertArrayBufferToHexArray( buf ).join("");
108
+
109
+ ```

1

追記

2020/09/12 02:28

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
 
26
26
 
27
- 再び 2進数
27
+ > 再び 2進数
28
28
 
29
29
 
30
30
 
@@ -41,6 +41,8 @@
41
41
 
42
42
 
43
43
  ```javascript
44
+
45
+ // utf-8 1byte文字(可視文字)の範囲でHEX化してみる例(追記
44
46
 
45
47
  // [..."Hello,world!"].map( s=>s.charCodeAt(0).toString(16) ).join("");
46
48