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