同じビット列が文字コードによってどんな文字に解釈されるか
文字コード | ビット列 | 表示される文字 |
---|---|---|
ISO-8859-1 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????l?????????l??????????l????????????????????????l?????????l??????????l??????????????l????????????????????l?????????l??????????l????????????????????????????????l?????????l??????????l????????????????????????l?????????l??????????l??????????????l????????????????????????????????????????????????????????l?????????l??????????l????????????????????????l?????????l??????????l??????????????l????????????????????l?????????l??????????l????????????????????????????????l?????????l??????????l????????????????????????l?????????l??????????l??????????????l???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
SJIS-WIN | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????冤?????????冤??????????冤????????????????????????冤?????????冤??????????冤??????????????冤????????????????????冤?????????冤??????????冤????????????????????????????????冤?????????冤??????????冤????????????????????????冤?????????冤??????????冤??????????????冤????????????????????????????????????????????????????????冤?????????冤??????????冤????????????????????????冤?????????冤??????????冤??????????????冤????????????????????冤?????????冤??????????冤????????????????????????????????冤?????????冤??????????冤????????????????????????冤?????????冤??????????冤??????????????冤???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
EUC-JP | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????l??????????l???????????l?????????????????????????l??????????l???????????l???????????????l?????????????????????l??????????l???????????l?????????????????????????????????l??????????l???????????l?????????????????????????l??????????l???????????l???????????????l?????????????????????????????????????????????????????????l??????????l???????????l?????????????????????????l??????????l???????????l???????????????l?????????????????????l??????????l???????????l?????????????????????????????????l??????????l???????????l?????????????????????????l??????????l???????????l???????????????l???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UTF-8 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????l??????????l???????????l?????????????????????????l??????????l???????????l???????????????l?????????????????????l??????????l???????????l?????????????????????????????????l??????????l???????????l?????????????????????????l??????????l???????????l???????????????l?????????????????????????????????????????????????????????l??????????l???????????l?????????????????????????l??????????l???????????l???????????????l?????????????????????l??????????l???????????l?????????????????????????????????l??????????l???????????l?????????????????????????l??????????l???????????l???????????????l???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UHC | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f996c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????셪?????????셪??????????셪????????????????????????셪?????????셪??????????셪??????????????셪????????????????????셪?????????셪??????????셪????????????????????????????????셪?????????셪??????????셪????????????????????????셪?????????셪??????????셪??????????????셪????????????????????????????????????????????????????????셪?????????셪??????????셪????????????????????????셪?????????셪??????????셪??????????????셪????????????????????셪?????????셪??????????셪????????????????????????????????셪?????????셪??????????셪????????????????????????셪?????????셪??????????셪??????????????셪???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |