同じビット列が文字コードによってどんな文字に解釈されるか
文字コード | ビット列 | 表示される文字 |
---|---|---|
ISO-8859-1 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ????????????????????????????????????????????????????????????????????????????????????????????????¤?????¢?????¢?????¤?????¢?¢?¢?????¤?????¢?®?¢??????????????????¤?????¢?????¢?????¤?????¢?¢?¢?????¤?????¢?®?¢???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????¤?????¢?????¢?????¤?????¢?¢?¢?????¤?????¢?®?¢??????????????????¤?????¢?????¢?????¤?????¢?¢?¢?????¤?????¢?®?¢???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????¤?????¢?????¢?????¤?????¢?¢?¢?????¤?????¢?®?¢??????????????????¤?????¢?????¢?????¤?????¢?¢?¢?????¤?????¢?®?¢???????????????????????????????????????????????????????????????????????????????????? |
SJIS-WIN | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ????????????????????????????????????????????????????????????????????????????????????????????????側?????造?????造?????側?????造?造?造?????側?????造?属?造??????????????????側?????造?????造?????側?????造?造?造?????側?????造?属?造???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????側?????造?????造?????側?????造?造?造?????側?????造?属?造??????????????????側?????造?????造?????側?????造?造?造?????側?????造?属?造???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????側?????造?????造?????側?????造?造?造?????側?????造?属?造??????????????????側?????造?????造?????側?????造?造?造?????側?????造?属?造???????????????????????????????????????????????????????????????????????????????????? |
EUC-JP | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UTF-8 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UHC | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f91a43f3f3f3f3f91a23f3f3f3f3f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91a23f91a23f3f3f3f3f91a43f3f3f3f3f91a23f91ae3f91a23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ????????????????????????????????????????????????????????????????????????????????????????????????뫀?????몾?????몾?????뫀?????몾?몾?몾?????뫀?????몾?뫌?몾??????????????????뫀?????몾?????몾?????뫀?????몾?몾?몾?????뫀?????몾?뫌?몾???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????뫀?????몾?????몾?????뫀?????몾?몾?몾?????뫀?????몾?뫌?몾??????????????????뫀?????몾?????몾?????뫀?????몾?몾?몾?????뫀?????몾?뫌?몾???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????뫀?????몾?????몾?????뫀?????몾?몾?몾?????뫀?????몾?뫌?몾??????????????????뫀?????몾?????몾?????뫀?????몾?몾?몾?????뫀?????몾?뫌?몾???????????????????????????????????????????????????????????????????????????????????? |