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