teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

自分の解釈

2020/04/04 13:00

投稿

pokemonta
pokemonta

スコア170

title CHANGED
File without changes
body CHANGED
@@ -47,4 +47,14 @@
47
47
 
48
48
  ^^^^^^^^^^^^^^^^^^^^^
49
49
  知識人のどなたかへ
50
- これまでの散らかった疑問点を整理して頂けないでしょうか
50
+ これまでの散らかった疑問点を整理して頂けないでしょうか
51
+
52
+ bの有無でasciiかbyteかを識別できる。
53
+ それをプログラムによって扱いを変えることができる。
54
+ 組み方次第。この組み方次第がイメージできていないですが。。
55
+ ascii→byteに変換することでバイト数削減に繋げれると思っていましたが
56
+ これもいまいち反応が悪いようで正しいかよくわかっていません。
57
+ b'リテラル' ←0-127まで指定可能(asciiの範囲)
58
+ それ以降~255まではエスケープで表示可能・具体的にイメージできていません。
59
+ 128以降は、unicode?
60
+ さらにそれ以上は、encodeを使う。例えば『あ』等

4

生理

2020/04/04 13:00

投稿

pokemonta
pokemonta

スコア170

title CHANGED
File without changes
body CHANGED
@@ -42,4 +42,9 @@
42
42
  ASCII 'LF' |10 |0x0a
43
43
  Bytes b'LF' |10 |0x0a
44
44
  ASCII '61' |5449 |0x3631
45
- Bytes b'61' |5449 |0x3631
45
+ Bytes b'61' |5449 |0x3631
46
+
47
+
48
+ ^^^^^^^^^^^^^^^^^^^^^
49
+ 知識人のどなたかへ
50
+ これまでの散らかった疑問点を整理して頂けないでしょうか

3

追加の質問

2020/04/04 12:52

投稿

pokemonta
pokemonta

スコア170

title CHANGED
File without changes
body CHANGED
@@ -1,21 +1,45 @@
1
1
  bytes型とは、0~255で表現されるものだと思っています。
2
2
  なぜaを指定できるのでしょうか?
3
+   →★ASCIIの範囲まで指定できることは理解できました。
4
+     それ以降は、エスケープをつけることで可能との認識。
5
+
3
6
  97は、以下のリンクからこのように解釈しました。
4
7
  byteのaは、asciiコード97という理解でよろしいでしょうか?
5
8
  [リンク内容](http://sticksandstones.kstrom.com/appen.html)
6
9
 
7
10
  このaは、16進数ですか?混乱してきました。
11
+  →★16進ではないことは理解できました。
8
12
 
9
13
  そもそも以下のような構文は何をするためのものでしょうか?
10
14
  value1 = b'a
11
15
  バイナリaはasciiコードの何番かを出力するためのものでしょうか
16
+   →★バイナリのaでっせって宣言しているだけで
17
+    あとは解釈側の判断ということ?
12
18
 
13
19
  ''''''''''''''''''''
14
20
  97は、97byteのオブジェクトを作るという意味でしょうか
15
21
  じゃぁ b'abc'は、97,98,99バイトの計3つのオブジェクトを作るということでしょうか
22
+  →★これはその通りだと思う。
16
23
  '''''''''''''''''''
17
24
  value1 = b'a'
18
25
  print(value1)
19
26
 
20
27
  これを実行したら97が出力されるかと思ったら
21
- b'a'のままでした。なにこれ。。
28
+ b'a'のままでした。なにこれ。。
29
+  →いまいち用途がわからない。
30
+
31
+ ~~~~~~~~~~~
32
+ 頂いた情報から以下のようにまとめてみました。
33
+ アスキーのaかバイナリのaかは、見分けがつくようになりましたが
34
+ 以下のように10進数も16進数も同じなので、何が便利なのでしょうか?
35
+
36
+ ASCIIとbytesで解釈が違うケースは具体的にどのようなものがありますでしょうか?
37
+ バイト数が違うケースがイメージできておりません。
38
+ |10進数|16進数
39
+ _____________________________
40
+ ASCII 'a' |97 |0x61
41
+ Bytes b'a' |97 |0x61
42
+ ASCII 'LF' |10 |0x0a
43
+ Bytes b'LF' |10 |0x0a
44
+ ASCII '61' |5449 |0x3631
45
+ Bytes b'61' |5449 |0x3631

2

sample

2020/04/04 12:02

投稿

pokemonta
pokemonta

スコア170

title CHANGED
File without changes
body CHANGED
@@ -12,4 +12,10 @@
12
12
 
13
13
  ''''''''''''''''''''
14
14
  97は、97byteのオブジェクトを作るという意味でしょうか
15
- じゃぁ b'abc'は、97,98,99バイトの計3つのオブジェクトを作るということでしょうか
15
+ じゃぁ b'abc'は、97,98,99バイトの計3つのオブジェクトを作るということでしょうか
16
+ '''''''''''''''''''
17
+ value1 = b'a'
18
+ print(value1)
19
+
20
+ これを実行したら97が出力されるかと思ったら
21
+ b'a'のままでした。なにこれ。。

1

追加

2020/04/04 06:54

投稿

pokemonta
pokemonta

スコア170

title CHANGED
File without changes
body CHANGED
@@ -8,4 +8,8 @@
8
8
 
9
9
  そもそも以下のような構文は何をするためのものでしょうか?
10
10
  value1 = b'a
11
- バイナリaはasciiコードの何番かを出力するためのものでしょうか
11
+ バイナリaはasciiコードの何番かを出力するためのものでしょうか
12
+
13
+ ''''''''''''''''''''
14
+ 97は、97byteのオブジェクトを作るという意味でしょうか
15
+ じゃぁ b'abc'は、97,98,99バイトの計3つのオブジェクトを作るということでしょうか