同じビット列が文字コードによってどんな文字に解釈されるか
文字コード | ビット列 | 表示される文字 |
---|---|---|
ISO-8859-1 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Ë?á????W???????????????X??????????Ë?á????W???????????????X???????W????????????????????????????????????????Ë?á????W???????????????X??????????Ë?á????W???????????????X???????W??????????????????????????????????Ë?á????W???????????????X??????????Ë?á????W???????????????X???????W???????????????Ë?á????W???????????????X??????????Ë?á????W???????????????X???????W????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
SJIS-WIN | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????⇒?低????Ⅳ???????????????Ⅴ??????????⇒?低????Ⅳ???????????????Ⅴ???????Ⅳ????????????????????????????????????????⇒?低????Ⅳ???????????????Ⅴ??????????⇒?低????Ⅳ???????????????Ⅴ???????Ⅳ??????????????????????????????????⇒?低????Ⅳ???????????????Ⅴ??????????⇒?低????Ⅳ???????????????Ⅴ???????Ⅳ???????????????⇒?低????Ⅳ???????????????Ⅴ??????????⇒?低????Ⅳ???????????????Ⅴ???????Ⅳ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
EUC-JP | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????W????????????????X??????????????????W????????????????X????????W????????????????????????????????????????????????W????????????????X??????????????????W????????????????X????????W??????????????????????????????????????????W????????????????X??????????????????W????????????????X????????W???????????????????????W????????????????X??????????????????W????????????????X????????W????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UTF-8 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????W????????????????X????????????????????W????????????????X????????W??????????????????????????????????????????????????W????????????????X????????????????????W????????????????X????????W????????????????????????????????????????????W????????????????X????????????????????W????????????????X????????W?????????????????????????W????????????????X????????????????????W????????????????X????????W????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
UHC | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f3f3f3f81cb3f92e13f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f87583f3f3f3f3f3f3f87573f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????곆?믟????놵???????????????놶??????????곆?믟????놵???????????????놶???????놵????????????????????????????????????????곆?믟????놵???????????????놶??????????곆?믟????놵???????????????놶???????놵??????????????????????????????????곆?믟????놵???????????????놶??????????곆?믟????놵???????????????놶???????놵???????????????곆?믟????놵???????????????놶??????????곆?믟????놵???????????????놶???????놵????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |