同じビット列が文字コードによってどんな文字に解釈されるか
文字コード | ビット列 | 表示される文字 |
---|---|---|
ISO-8859-1 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????ã÷?????ã÷???????ã÷?????ã÷????????????????ã÷???????ã÷???????ã÷?????ã÷?????????????????????????I?????????????????????????????????????????????????????????????????ã÷?????ã÷???????ã÷?????ã÷????????????????ã÷???????ã÷???????ã÷?????ã÷?????????????????????????I????????????????????????????????????????????????????????????????????????????????????N?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????ã÷?????ã÷???????ã÷?????ã÷????????????????ã÷???????ã÷???????ã÷?????ã÷?????????????????????????I?????????????????????????????????????????????????????????????????ã÷?????ã÷???????ã÷?????ã÷????????????????ã÷???????ã÷???????ã÷?????ã÷?????????????????????????I???????????????????????????????????????????????????????? |
SJIS-WIN | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????胱?????胱???????胱?????胱????????????????胱???????胱???????胱?????胱?????????????????????????I?????????????????????????????????????????????????????????????????胱?????胱???????胱?????胱????????????????胱???????胱???????胱?????胱?????????????????????????I????????????????????????????????????????????????????????????????????????????????????N?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????胱?????胱???????胱?????胱????????????????胱???????胱???????胱?????胱?????????????????????????I?????????????????????????????????????????????????????????????????胱?????胱???????胱?????胱????????????????胱???????胱???????胱?????胱?????????????????????????I???????????????????????????????????????????????????????? |
EUC-JP | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????笳?????笳???????笳?????笳????????????????笳???????笳???????笳?????笳?????????????????????????I?????????????????????????????????????????????????????????????????笳?????笳???????笳?????笳????????????????笳???????笳???????笳?????笳?????????????????????????I????????????????????????????????????????????????????????????????????????????????????N?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????笳?????笳???????笳?????笳????????????????笳???????笳???????笳?????笳?????????????????????????I?????????????????????????????????????????????????????????????????笳?????笳???????笳?????笳????????????????笳???????笳???????笳?????笳?????????????????????????I???????????????????????????????????????????????????????? |
UTF-8 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????I??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????I????????????????????????????????????????????????????????????????????????????????????N??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????I??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????I???????????????????????????????????????????????????????? |
UHC | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3f3f3fe3f73f3f3f3f3fe3f73f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f493f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????失?????失???????失?????失????????????????失???????失???????失?????失?????????????????????????I?????????????????????????????????????????????????????????????????失?????失???????失?????失????????????????失???????失???????失?????失?????????????????????????I????????????????????????????????????????????????????????????????????????????????????N?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????失?????失???????失?????失????????????????失???????失???????失?????失?????????????????????????I?????????????????????????????????????????????????????????????????失?????失???????失?????失????????????????失???????失???????失?????失?????????????????????????I???????????????????????????????????????????????????????? |