同じビット列が文字コードによってどんな文字に解釈されるか
文字コード | ビット列 | 表示される文字 |
---|---|---|
ISO-8859-1 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3fa1ad3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3fa1ad3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????S?????????????????????????????????????????????????????????????????????????????????????????????????????????????????N??????????????????????????®??´????????????????????®??´????????????????®??´????????????????®??´????????????????®??´????????????????®??´????????????????®??´??????????¡????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????S?????????????????????????????????????????????????????????????????????????????????????????????????????????????????N??????????????????????????®??´????????????????????®??´????????????????®??´????????????????®??´????????????????®??´????????????????®??´????????????????®??´??????????¡??????????????????????????????????????????????????????????????????????????????????????????????? |
SJIS-WIN | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3fa1ad3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3fa1ad3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????S?????????????????????????????????????????????????????????????????????????????????????????????????????????????????N??????????????????????????ョ??エ????????????????????ョ??エ????????????????ョ??エ????????????????ョ??エ????????????????ョ??エ????????????????ョ??エ????????????????ョ??エ??????????。ュ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????S?????????????????????????????????????????????????????????????????????????????????????????????????????????????????N??????????????????????????ョ??エ????????????????????ョ??エ????????????????ョ??エ????????????????ョ??エ????????????????ョ??エ????????????????ョ??エ????????????????ョ??エ??????????。ュ??????????????????????????????????????????????????????????????????????????????????????????????? |
EUC-JP | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3fa1ad3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3fa1ad3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????S?????????????????????????????????????????????????????????????????????????????????????????????????????????????????N??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????´????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????S?????????????????????????????????????????????????????????????????????????????????????????????????????????????????N??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????´??????????????????????????????????????????????????????????????????????????????????????????????? |
UTF-8 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3fa1ad3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3fa1ad3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????S?????????????????????????????????????????????????????????????????????????????????????????????????????????????????N??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????S?????????????????????????????????????????????????????????????????????????????????????????????????????????????????N????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UHC | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3fa1ad3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fae3f3fb43f3f3f3f3f3f3f3f3f3fa1ad3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????S?????????????????????????????????????????????????????????????????????????????????????????????????????????????????N????????????????????????????뇜?????????????????????뇜?????????????????뇜?????????????????뇜?????????????????뇜?????????????????뇜?????????????????뇜?????????∼????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????S?????????????????????????????????????????????????????????????????????????????????????????????????????????????????N????????????????????????????뇜?????????????????????뇜?????????????????뇜?????????????????뇜?????????????????뇜?????????????????뇜?????????????????뇜?????????∼??????????????????????????????????????????????????????????????????????????????????????????????? |