/
647.txt
47 lines (34 loc) · 2.21 KB
/
647.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
[1] [DFN[[[オクテット列]]]] ([DFN[[[octet sequence]]]], [DFN[[[octet stream]]]]) は、
[[オクテット]]の[[列]]です。
[DFN[[RUBYB[[[バイト列]]]@en[byte sequence]]]]は、[[バイト]]の[[列]]です。
ほとんどの場合、これらは交換可能な用語と考えられています。
;; [2] 厳密には[[オクテット]]と[[バイト]]は異なりますが、
現代においては[[バイト]]は8[[ビット]]と同義とされることがほとんどなので、
[[オクテット列]]と[[バイト列]]は同義になります。
* 文字列とオクテット列
[3] 歴史的に[[オクテット列]]/[[バイト列]]と[[文字列]]は同義または類義と考えられていた場面もありますが、
本来両者は別のものです。
[6] 近年の[[プログラミング言語]]やデータ交換形式などでは[[バイト列]]と[[文字列]]を区別するケースが増えていますが、
かつては同一視するのが一般的でした。
[EG[
[7] 例えば[[C言語]]では普通 [CODE[[[char]]]] [[型]]は8ビットの[[符号無し整数]]を表しますが、
[[文字]]1つを表すためにも使われています。
]EG]
[EG[
[9] [[Perl]] には [[utf8フラグ]]のある[[文字列]]と、ない[[バイト列]]があります。
ただし両者間は[[暗黙の型変換]]があり、 0x00-0xFF の範囲では両者の区別が曖昧です。
]EG]
[EG[
[8] [[JavaScript]] には長らく[[文字列]]の[[型]] [CODE(JS)@en[[[String]]]] しかありませんでしたが、
[[ES6]] で[[バイト列]]のための [[TypedArray]] が追加されました。
]EG]
* MIME 型
[4] 他に適当な[[MIME型]]が無い場合、 [CODE(MIME)@en[[[application/octet-stream]]]]
を使うことになっています。
* メモ
[5] [CITE@en[Character Model for the World Wide Web 1.0: Fundamentals]]
( ([TIME[2005-02-15 14:24:00 +09:00]] 版))
<http://www.w3.org/TR/charmod/#sec-Strings>
[10] [CITE@en[Bug 26499 – Improve the definition of 'byte sequence' to make it less ta... · 6936e73 · whatwg/mimesniff]]
( ([TIME[2014-09-21 13:15:20 +09:00]] 版))
<https://github.com/whatwg/mimesniff/commit/6936e7323b7bbff4f1f047bfa50b06c8a259889b>