同じビット列が文字コードによってどんな文字に解釈されるか
文字コード | ビット列 | 表示される文字 |
---|---|---|
ISO-8859-1 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????S??????????????????????????????????????????????????????????G????N?????G????N?????G????K??¢Â???G????K??¢Â??????????????????????????G????N?????G????N?????G????K??¢Â???G????K??¢Â????????????????G????N?????G????N?????G????K??¢Â???G????K??¢Â???????????????G????N?????G????N?????G????K??¢Â???G????K??¢Â?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????S??????????????????????????????????????????????????????????G????N?????G????N?????G????K??¢Â???G????K??¢Â??????????????????????????G????N?????G????N?????G????K??¢Â???G????K??¢Â????????????????G????N?????G????N?????G????K??¢Â???G????K??¢Â???????????????G????N?????G????N?????G????K??¢Â???G????K??¢Â???????????????????????????????????????????????????????????????????? |
SJIS-WIN | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????S??????????????????????????????????????????????????????????G????N?????G????N?????G????K??召ツ???G????K??召ツ??????????????????????????G????N?????G????N?????G????K??召ツ???G????K??召ツ????????????????G????N?????G????N?????G????K??召ツ???G????K??召ツ???????????????G????N?????G????N?????G????K??召ツ???G????K??召ツ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????S??????????????????????????????????????????????????????????G????N?????G????N?????G????K??召ツ???G????K??召ツ??????????????????????????G????N?????G????N?????G????K??召ツ???G????K??召ツ????????????????G????N?????G????N?????G????K??召ツ???G????K??召ツ???????????????G????N?????G????N?????G????K??召ツ???G????K??召ツ???????????????????????????????????????????????????????????????????? |
EUC-JP | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????S??????????????????????????????????????????????????????????G????N?????G????N?????G????K??¡???G????K??¡??????????????????????????G????N?????G????N?????G????K??¡???G????K??¡????????????????G????N?????G????N?????G????K??¡???G????K??¡???????????????G????N?????G????N?????G????K??¡???G????K??¡?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????S??????????????????????????????????????????????????????????G????N?????G????N?????G????K??¡???G????K??¡??????????????????????????G????N?????G????N?????G????K??¡???G????K??¡????????????????G????N?????G????N?????G????K??¡???G????K??¡???????????????G????N?????G????N?????G????K??¡???G????K??¡???????????????????????????????????????????????????????????????????? |
UTF-8 | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????S??????????????????????????????????????????????????????????G????N?????G????N?????G????K????????G????K???????????????????????????????G????N?????G????N?????G????K????????G????K?????????????????????G????N?????G????N?????G????K????????G????K????????????????????G????N?????G????N?????G????K????????G????K??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????S??????????????????????????????????????????????????????????G????N?????G????N?????G????K????????G????K???????????????????????????????G????N?????G????N?????G????K????????G????K?????????????????????G????N?????G????N?????G????K????????G????K????????????????????G????N?????G????N?????G????K????????G????K????????????????????????????????????????????????????????????????????????? |
UHC | 3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f533f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4e3f3f3f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f473f3f3f3f4b3f3f8fa2c23f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f | ???????????????????????????????????????????????????S??????????????????????????????????????????????????????????G????N?????G????N?????G????K??룫집??G????K??룫집?????????????????????????G????N?????G????N?????G????K??룫집??G????K??룫집???????????????G????N?????G????N?????G????K??룫집??G????K??룫집??????????????G????N?????G????N?????G????K??룫집??G????K??룫집????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????S??????????????????????????????????????????????????????????G????N?????G????N?????G????K??룫집??G????K??룫집?????????????????????????G????N?????G????N?????G????K??룫집??G????K??룫집???????????????G????N?????G????N?????G????K??룫집??G????K??룫집??????????????G????N?????G????N?????G????K??룫집??G????K??룫집??????????????????????????????????????????????????????????????????? |