同じビット列が文字コードによってどんな文字に解釈されるか
文字コード | ビット列 | 表示される文字 |
---|---|---|
ISO-8859-1 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????W?????????????????????F????¡©????F????¡©????????F????¡©????F????¡©??????????????F????¡©????F????¡©??????????????????F????¡©????F????¡©????????F????¡©????F????¡©??????????????F????¡©????F????¡©???????????????????F????¡©????F????¡©????????F????¡©????F????¡©??????????????F????¡©????F????¡©???????????????????????F????¡©????F????¡©????????F????¡©????F????¡©??????????????F????¡©????F????¡©????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
SJIS-WIN | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????W?????????????????????F????。ゥ????F????。ゥ????????F????。ゥ????F????。ゥ??????????????F????。ゥ????F????。ゥ??????????????????F????。ゥ????F????。ゥ????????F????。ゥ????F????。ゥ??????????????F????。ゥ????F????。ゥ???????????????????F????。ゥ????F????。ゥ????????F????。ゥ????F????。ゥ??????????????F????。ゥ????F????。ゥ???????????????????????F????。ゥ????F????。ゥ????????F????。ゥ????F????。ゥ??????????????F????。ゥ????F????。ゥ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
EUC-JP | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????W?????????????????????F?????????F?????????????F?????????F???????????????????F?????????F???????????????????????F?????????F?????????????F?????????F???????????????????F?????????F????????????????????????F?????????F?????????????F?????????F???????????????????F?????????F????????????????????????????F?????????F?????????????F?????????F???????????????????F?????????F?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UTF-8 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????W?????????????????????F??????????F??????????????F??????????F????????????????????F??????????F????????????????????????F??????????F??????????????F??????????F????????????????????F??????????F?????????????????????????F??????????F??????????????F??????????F????????????????????F??????????F?????????????????????????????F??????????F??????????????F??????????F????????????????????F??????????F??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UHC | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f463f3f3f3fa1a93f3f3f3f463f3f3f3fa1a93f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????W?????????????????????F????????F????????????F????????F??????????????????F????????F??????????????????????F????????F????????????F????????F??????????????????F????????F???????????????????????F????????F????????????F????????F??????????????????F????????F???????????????????????????F????????F????????????F????????F??????????????????F????????F????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |