同じビット列が文字コードによってどんな文字に解釈されるか
文字コード | ビット列 | 表示される文字 |
---|---|---|
ISO-8859-1 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????«®???????????????«®????????????????????«®?????????????????????????«®?????????????????????«®????????????????????????????????????«®????????????????????«®????????????????«®???????????????«®????????????????????«®????????????????????????????????????«®????????????????????«®???????????????«®???????????????«®????????????????????«®?????????????????????????«®?????????????????????«®????????????????????????????????????????«®???????????????«®????????????????????«®?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
SJIS-WIN | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????将ョ???????????????将ョ????????????????????将ョ?????????????????????????将ョ?????????????????????将ョ????????????????????????????????????将ョ????????????????????将ョ????????????????将ョ???????????????将ョ????????????????????将ョ????????????????????????????????????将ョ????????????????????将ョ???????????????将ョ???????????????将ョ????????????????????将ョ?????????????????????????将ョ?????????????????????将ョ????????????????????????????????????????将ョ???????????????将ョ????????????????????将ョ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
EUC-JP | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????ç???????????????ç????????????????????ç?????????????????????????ç?????????????????????ç????????????????????????????????????ç????????????????????ç????????????????ç???????????????ç????????????????????ç????????????????????????????????????ç????????????????????ç???????????????ç???????????????ç????????????????????ç?????????????????????????ç?????????????????????ç????????????????????????????????????????ç???????????????ç????????????????????ç?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UTF-8 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UHC | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f8fabae3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????룶???????????????룶????????????????????룶?????????????????????????룶?????????????????????룶????????????????????????????????????룶????????????????????룶????????????????룶???????????????룶????????????????????룶????????????????????????????????????룶????????????????????룶???????????????룶???????????????룶????????????????????룶?????????????????????????룶?????????????????????룶????????????????????????????????????????룶???????????????룶????????????????????룶?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |