同じビット列が文字コードによってどんな文字に解釈されるか
文字コード | ビット列 | 表示される文字 |
---|---|---|
ISO-8859-1 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Êñ½¤???¤???????Êñ½¤???¤????????Êñ½¤???¤???????????Êñ½¤???¤???????Êñ½¤???¤????????Êñ½¤???¤???????Êñ½¤???¤??????????Êñ½¤???¤???????Êñ½¤???¤????????Êñ½¤???¤???????????Êñ½¤???¤???????Êñ½¤???¤????????Êñ½¤???¤???????Êñ½¤???¤???????????????????????????Êñ½¤???¤???????Êñ½¤???¤????????Êñ½¤???¤???????????Êñ½¤???¤???????Êñ½¤???¤????????Êñ½¤???¤???????Êñ½¤???¤????????????????????Êñ½¤???¤???????Êñ½¤???¤????????Êñ½¤???¤???????????Êñ½¤???¤???????Êñ½¤???¤????????Êñ½¤???¤???????Êñ½¤???¤????????????????????????????????????????N???????????????????????????????????????????????????????????????????????????????????????????????? |
SJIS-WIN | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????ハス痔???痔???????ハス痔???痔????????ハス痔???痔???????????ハス痔???痔???????ハス痔???痔????????ハス痔???痔???????ハス痔???痔??????????ハス痔???痔???????ハス痔???痔????????ハス痔???痔???????????ハス痔???痔???????ハス痔???痔????????ハス痔???痔???????ハス痔???痔???????????????????????????ハス痔???痔???????ハス痔???痔????????ハス痔???痔???????????ハス痔???痔???????ハス痔???痔????????ハス痔???痔???????ハス痔???痔????????????????????ハス痔???痔???????ハス痔???痔????????ハス痔???痔???????????ハス痔???痔???????ハス痔???痔????????ハス痔???痔???????ハス痔???痔????????????????????????????????????????N???????????????????????????????????????????????????????????????????????????????????????????????? |
EUC-JP | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????包ス、???、???????包ス、???、????????包ス、???、???????????包ス、???、???????包ス、???、????????包ス、???、???????包ス、???、??????????包ス、???、???????包ス、???、????????包ス、???、???????????包ス、???、???????包ス、???、????????包ス、???、???????包ス、???、???????????????????????????包ス、???、???????包ス、???、????????包ス、???、???????????包ス、???、???????包ス、???、????????包ス、???、???????包ス、???、????????????????????包ス、???、???????包ス、???、????????包ス、???、???????????包ス、???、???????包ス、???、????????包ス、???、???????包ス、???、????????????????????????????????????????N???????????????????????????????????????????????????????????????????????????????????????????????? |
UTF-8 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????N???????????????????????????????????????????????????????????????????????????????????????????????? |
UHC | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3fcaf18ebd8ea43f3f3f8ea43f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4e3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????戡렰렎???렎???????戡렰렎???렎????????戡렰렎???렎???????????戡렰렎???렎???????戡렰렎???렎????????戡렰렎???렎???????戡렰렎???렎??????????戡렰렎???렎???????戡렰렎???렎????????戡렰렎???렎???????????戡렰렎???렎???????戡렰렎???렎????????戡렰렎???렎???????戡렰렎???렎???????????????????????????戡렰렎???렎???????戡렰렎???렎????????戡렰렎???렎???????????戡렰렎???렎???????戡렰렎???렎????????戡렰렎???렎???????戡렰렎???렎????????????????????戡렰렎???렎???????戡렰렎???렎????????戡렰렎???렎???????????戡렰렎???렎???????戡렰렎???렎????????戡렰렎???렎???????戡렰렎???렎????????????????????????????????????????N???????????????????????????????????????????????????????????????????????????????????????????????? |