同じビット列が文字コードによってどんな文字に解釈されるか
文字コード | ビット列 | 表示される文字 |
---|---|---|
ISO-8859-1 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f7d3f3f3f3f3f3f7d3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}??????}???????????????????????????????????????????????????????????????????A???ç²??å??ç²??å?????????ç²??å??ç²??å?????????????????g??????????????????????????????????????????????????????????????????????????A???ç²??å??ç²??å?????????ç²??å??ç²??å?????????????????g??????????????????????????????????????????????????????????????????????????????????A???ç²??å??ç²??å?????????ç²??å??ç²??å?????????????????g??????????????????????????????????????????????????????????????????????????A???ç²??å??ç²??å?????????ç²??å??ç²??å?????????????????g??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
SJIS-WIN | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f7d3f3f3f3f3f3f7d3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}??????}???????????????????????????????????????????????????????????????????A???逋イ??蝓??逋イ??蝓?????????逋イ??蝓??逋イ??蝓?????????????????g??????????????????????????????????????????????????????????????????????????A???逋イ??蝓??逋イ??蝓?????????逋イ??蝓??逋イ??蝓?????????????????g??????????????????????????????????????????????????????????????????????????????????A???逋イ??蝓??逋イ??蝓?????????逋イ??蝓??逋イ??蝓?????????????????g??????????????????????????????????????????????????????????????????????????A???逋イ??蝓??逋イ??蝓?????????逋イ??蝓??逋イ??蝓?????????????????g??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
EUC-JP | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f7d3f3f3f3f3f3f7d3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}??????}???????????????????????????????????????????????????????????????????A?????????????????????????????????????????????????????g??????????????????????????????????????????????????????????????????????????A?????????????????????????????????????????????????????g??????????????????????????????????????????????????????????????????????????????????A?????????????????????????????????????????????????????g??????????????????????????????????????????????????????????????????????????A?????????????????????????????????????????????????????g??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UTF-8 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f7d3f3f3f3f3f3f7d3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}??????}???????????????????????????????????????????????????????????????????A???癲??域??癲??域?????????癲??域??癲??域?????????????????g??????????????????????????????????????????????????????????????????????????A???癲??域??癲??域?????????癲??域??癲??域?????????????????g??????????????????????????????????????????????????????????????????????????????????A???癲??域??癲??域?????????癲??域??癲??域?????????????????g??????????????????????????????????????????????????????????????????????????A???癲??域??癲??域?????????癲??域??癲??域?????????????????g??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UHC | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f7d3f3f3f3f3f3f7d3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f413f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3fe799b23f3fe59f9f3f3fe799b23f3fe59f9f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f673f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}??????}???????????????????????????????????????????????????????????????????A???捻깰?腋욣?捻깰?腋욣????????捻깰?腋욣?捻깰?腋욣????????????????g??????????????????????????????????????????????????????????????????????????A???捻깰?腋욣?捻깰?腋욣????????捻깰?腋욣?捻깰?腋욣????????????????g??????????????????????????????????????????????????????????????????????????????????A???捻깰?腋욣?捻깰?腋욣????????捻깰?腋욣?捻깰?腋욣????????????????g??????????????????????????????????????????????????????????????????????????A???捻깰?腋욣?捻깰?腋욣????????捻깰?腋욣?捻깰?腋욣????????????????g??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |