3v4l.org

run code in 300+ PHP versions simultaneously
<?php $tai = '鯛'; // A kind of fish, included in JIS X 0208 $kasago = '鮋'; // A kind of fish, included in JIS X 0212, not included in JIS X 0213. $hokke = '𩸽'; // A kind of fish, included in JIS X 0213, not included in JIS X 0212. echo "# mb_convert_encoding\n"; $tai_iso2022jp = mb_convert_encoding($tai, 'ISO-2022-JP', 'UTF-8'); $tai_jis = mb_convert_encoding($tai, 'JIS', 'UTF-8'); $tai_iso2022jp_2004 = mb_convert_encoding($tai, 'ISO-2022-JP-2004', 'UTF-8'); echo "Convert tai to ISO-2022-JP : " . bin2hex($tai_iso2022jp) . "\n"; echo "Convert tai to JIS : " . bin2hex($tai_jis) . "\n"; echo "Convert tai to ISO-2022-JP-2004 : " . bin2hex($tai_iso2022jp_2004) . "\n"; echo "\n"; $kasago_iso2022jp = mb_convert_encoding($kasago, 'ISO-2022-JP', 'UTF-8'); $kasago_jis = mb_convert_encoding($kasago, 'JIS', 'UTF-8'); $kasago_iso2022jp_2004 = mb_convert_encoding($kasago, 'ISO-2022-JP-2004', 'UTF-8'); echo "Convert kasago to ISO-2022-JP : " . bin2hex($kasago_iso2022jp) . "\n"; echo "Convert kasago to JIS : " . bin2hex($kasago_jis) . "\n"; echo "Convert kasago to ISO-2022-JP-2004: " . bin2hex($kasago_iso2022jp_2004) . "\n"; echo "\n"; $hokke_iso2022jp = mb_convert_encoding($hokke, 'ISO-2022-JP', 'UTF-8'); $hokke_jis = mb_convert_encoding($hokke, 'JIS', 'UTF-8'); $hokke_iso2022jp_2004 = mb_convert_encoding($hokke, 'ISO-2022-JP-2004', 'UTF-8'); echo "Convert hokke to ISO-2022-JP : " . bin2hex($hokke_iso2022jp) . "\n"; echo "Convert hokke to JIS : " . bin2hex($hokke_jis) . "\n"; echo "Convert hokke to ISO-2022-JP-2004 : " . bin2hex($hokke_iso2022jp_2004) . "\n"; echo "\n"; echo "# mb_check_encoding\n"; $tai_0208 = mb_convert_encoding($tai, 'ISO-2022-JP', 'UTF-8'); // 1b244242641b2842 $kasago_0212 = mb_convert_encoding($kasago, 'JIS', 'UTF-8'); // 1b2428446a591b2842 $hokke_0213 = mb_convert_encoding($hokke, 'ISO-2022-JP-2004', 'UTF-8'); // 1b2428507d4c1b2842 echo "Tai written in JIS X 0208 : " . bin2hex($tai_0208) . "\n"; echo "Hokke written in JIS X 0212 : " . bin2hex($kasago_0212) . "\n"; echo "Kasago written in JIS X 0213: " . bin2hex($hokke_0213) . "\n"; echo "\n"; echo "Tai written in JIS X 0208\n"; echo "ISO-2022-JP : "; var_dump(mb_check_encoding($tai_0208, 'iso-2022-jp')); // true is expected echo "JIS : "; var_dump(mb_check_encoding($tai_0208, 'jis')); // true is expected echo "ISO-2022-JP-2004: "; var_dump(mb_check_encoding($tai_0208, 'iso-2022-jp-2004')); // true is expected echo "\n"; echo "Kasago written in JIS X 0212\n"; echo "ISO-2022-JP : "; var_dump(mb_check_encoding($kasago_0212, 'iso-2022-jp')); // false is expected echo "JIS : "; var_dump(mb_check_encoding($kasago_0212, 'jis')); // true is expected echo "ISO-2022-JP-2004: "; var_dump(mb_check_encoding($kasago_0212, 'iso-2022-jp-2004')); // false is expected echo "\n"; echo "Hokke written in JIS X 0213\n"; echo "ISO-2022-JP : "; var_dump(mb_check_encoding($hokke_0213, 'iso-2022-jp')); // false is expected echo "JIS : "; var_dump(mb_check_encoding($hokke_0213, 'jis')); // false is expected echo "ISO-2022-JP-2004: "; var_dump(mb_check_encoding($hokke_0213, 'iso-2022-jp-2004')); // true is expected
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/nin0e
function name:  (null)
number of ops:  231
compiled vars:  !0 = $tai, !1 = $kasago, !2 = $hokke, !3 = $tai_iso2022jp, !4 = $tai_jis, !5 = $tai_iso2022jp_2004, !6 = $kasago_iso2022jp, !7 = $kasago_jis, !8 = $kasago_iso2022jp_2004, !9 = $hokke_iso2022jp, !10 = $hokke_jis, !11 = $hokke_iso2022jp_2004, !12 = $tai_0208, !13 = $kasago_0212, !14 = $hokke_0213
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%E9%AF%9B'
    4     1        ASSIGN                                                   !1, '%E9%AE%8B'
    5     2        ASSIGN                                                   !2, '%F0%A9%B8%BD'
    7     3        ECHO                                                     '%23+mb_convert_encoding%0A'
    9     4        INIT_FCALL                                               'mb_convert_encoding'
          5        SEND_VAR                                                 !0
          6        SEND_VAL                                                 'ISO-2022-JP'
          7        SEND_VAL                                                 'UTF-8'
          8        DO_ICALL                                         $18     
          9        ASSIGN                                                   !3, $18
   10    10        INIT_FCALL                                               'mb_convert_encoding'
         11        SEND_VAR                                                 !0
         12        SEND_VAL                                                 'JIS'
         13        SEND_VAL                                                 'UTF-8'
         14        DO_ICALL                                         $20     
         15        ASSIGN                                                   !4, $20
   11    16        INIT_FCALL                                               'mb_convert_encoding'
         17        SEND_VAR                                                 !0
         18        SEND_VAL                                                 'ISO-2022-JP-2004'
         19        SEND_VAL                                                 'UTF-8'
         20        DO_ICALL                                         $22     
         21        ASSIGN                                                   !5, $22
   12    22        INIT_FCALL                                               'bin2hex'
         23        SEND_VAR                                                 !3
         24        DO_ICALL                                         $24     
         25        CONCAT                                           ~25     'Convert+tai+to+ISO-2022-JP++++++++%3A+', $24
         26        CONCAT                                           ~26     ~25, '%0A'
         27        ECHO                                                     ~26
   13    28        INIT_FCALL                                               'bin2hex'
         29        SEND_VAR                                                 !4
         30        DO_ICALL                                         $27     
         31        CONCAT                                           ~28     'Convert+tai+to+JIS++++++++++++++++%3A+', $27
         32        CONCAT                                           ~29     ~28, '%0A'
         33        ECHO                                                     ~29
   14    34        INIT_FCALL                                               'bin2hex'
         35        SEND_VAR                                                 !5
         36        DO_ICALL                                         $30     
         37        CONCAT                                           ~31     'Convert+tai+to+ISO-2022-JP-2004+++%3A+', $30
         38        CONCAT                                           ~32     ~31, '%0A'
         39        ECHO                                                     ~32
   15    40        ECHO                                                     '%0A'
   17    41        INIT_FCALL                                               'mb_convert_encoding'
         42        SEND_VAR                                                 !1
         43        SEND_VAL                                                 'ISO-2022-JP'
         44        SEND_VAL                                                 'UTF-8'
         45        DO_ICALL                                         $33     
         46        ASSIGN                                                   !6, $33
   18    47        INIT_FCALL                                               'mb_convert_encoding'
         48        SEND_VAR                                                 !1
         49        SEND_VAL                                                 'JIS'
         50        SEND_VAL                                                 'UTF-8'
         51        DO_ICALL                                         $35     
         52        ASSIGN                                                   !7, $35
   19    53        INIT_FCALL                                               'mb_convert_encoding'
         54        SEND_VAR                                                 !1
         55        SEND_VAL                                                 'ISO-2022-JP-2004'
         56        SEND_VAL                                                 'UTF-8'
         57        DO_ICALL                                         $37     
         58        ASSIGN                                                   !8, $37
   20    59        INIT_FCALL                                               'bin2hex'
         60        SEND_VAR                                                 !6
         61        DO_ICALL                                         $39     
         62        CONCAT                                           ~40     'Convert+kasago+to+ISO-2022-JP+++++%3A+', $39
         63        CONCAT                                           ~41     ~40, '%0A'
         64        ECHO                                                     ~41
   21    65        INIT_FCALL                                               'bin2hex'
         66        SEND_VAR                                                 !7
         67        DO_ICALL                                         $42     
         68        CONCAT                                           ~43     'Convert+kasago+to+JIS+++++++++++++%3A+', $42
         69        CONCAT                                           ~44     ~43, '%0A'
         70        ECHO                                                     ~44
   22    71        INIT_FCALL                                               'bin2hex'
         72        SEND_VAR                                                 !8
         73        DO_ICALL                                         $45     
         74        CONCAT                                           ~46     'Convert+kasago+to+ISO-2022-JP-2004%3A+', $45
         75        CONCAT                                           ~47     ~46, '%0A'
         76        ECHO                                                     ~47
   23    77        ECHO                                                     '%0A'
   25    78        INIT_FCALL                                               'mb_convert_encoding'
         79        SEND_VAR                                                 !2
         80        SEND_VAL                                                 'ISO-2022-JP'
         81        SEND_VAL                                                 'UTF-8'
         82        DO_ICALL                                         $48     
         83        ASSIGN                                                   !9, $48
   26    84        INIT_FCALL                                               'mb_convert_encoding'
         85        SEND_VAR                                                 !2
         86        SEND_VAL                                                 'JIS'
         87        SEND_VAL                                                 'UTF-8'
         88        DO_ICALL                                         $50     
         89        ASSIGN                                                   !10, $50
   27    90        INIT_FCALL                                               'mb_convert_encoding'
         91        SEND_VAR                                                 !2
         92        SEND_VAL                                                 'ISO-2022-JP-2004'
         93        SEND_VAL                                                 'UTF-8'
         94        DO_ICALL                                         $52     
         95        ASSIGN                                                   !11, $52
   28    96        INIT_FCALL                                               'bin2hex'
         97        SEND_VAR                                                 !9
         98        DO_ICALL                                         $54     
         99        CONCAT                                           ~55     'Convert+hokke+to+ISO-2022-JP++++++%3A+', $54
        100        CONCAT                                           ~56     ~55, '%0A'
        101        ECHO                                                     ~56
   29   102        INIT_FCALL                                               'bin2hex'
        103        SEND_VAR                                                 !10
        104        DO_ICALL                                         $57     
        105        CONCAT                                           ~58     'Convert+hokke+to+JIS++++++++++++++%3A+', $57
        106        CONCAT                                           ~59     ~58, '%0A'
        107        ECHO                                                     ~59
   30   108        INIT_FCALL                                               'bin2hex'
        109        SEND_VAR                                                 !11
        110        DO_ICALL                                         $60     
        111        CONCAT                                           ~61     'Convert+hokke+to+ISO-2022-JP-2004+%3A+', $60
        112        CONCAT                                           ~62     ~61, '%0A'
        113        ECHO                                                     ~62
   31   114        ECHO                                                     '%0A'
   33   115        ECHO                                                     '%23+mb_check_encoding%0A'
   35   116        INIT_FCALL                                               'mb_convert_encoding'
        117        SEND_VAR                                                 !0
        118        SEND_VAL                                                 'ISO-2022-JP'
        119        SEND_VAL                                                 'UTF-8'
        120        DO_ICALL                                         $63     
        121        ASSIGN                                                   !12, $63
   36   122        INIT_FCALL                                               'mb_convert_encoding'
        123        SEND_VAR                                                 !1
        124        SEND_VAL                                                 'JIS'
        125        SEND_VAL                                                 'UTF-8'
        126        DO_ICALL                                         $65     
        127        ASSIGN                                                   !13, $65
   37   128        INIT_FCALL                                               'mb_convert_encoding'
        129        SEND_VAR                                                 !2
        130        SEND_VAL                                                 'ISO-2022-JP-2004'
        131        SEND_VAL                                                 'UTF-8'
        132        DO_ICALL                                         $67     
        133        ASSIGN                                                   !14, $67
   39   134        INIT_FCALL                                               'bin2hex'
        135        SEND_VAR                                                 !12
        136        DO_ICALL                                         $69     
        137        CONCAT                                           ~70     'Tai+written+in+JIS+X+0208+++%3A+', $69
        138        CONCAT                                           ~71     ~70, '%0A'
        139        ECHO                                                     ~71
   40   140        INIT_FCALL                                               'bin2hex'
        141        SEND_VAR                                                 !13
        142        DO_ICALL                                         $72     
        143        CONCAT                                           ~73     'Hokke+written+in+JIS+X+0212+%3A+', $72
        144        CONCAT                                           ~74     ~73, '%0A'
        145        ECHO                                                     ~74
   41   146        INIT_FCALL                                               'bin2hex'
        147        SEND_VAR                                                 !14
        148        DO_ICALL                                         $75     
        149        CONCAT                                           ~76     'Kasago+written+in+JIS+X+0213%3A+', $75
        150        CONCAT                                           ~77     ~76, '%0A'
        151        ECHO                                                     ~77
   42   152        ECHO                                                     '%0A'
   44   153        ECHO                                                     'Tai+written+in+JIS+X+0208%0A'
   45   154        ECHO                                                     'ISO-2022-JP+++++%3A+'
   46   155        INIT_FCALL                                               'var_dump'
        156        INIT_FCALL                                               'mb_check_encoding'
        157        SEND_VAR                                                 !12
        158        SEND_VAL                                                 'iso-2022-jp'
        159        DO_ICALL                                         $78     
        160        SEND_VAR                                                 $78
        161        DO_ICALL                                                 
   47   162        ECHO                                                     'JIS+++++++++++++%3A+'
   48   163        INIT_FCALL                                               'var_dump'
        164        INIT_FCALL                                               'mb_check_encoding'
        165        SEND_VAR                                                 !12
        166        SEND_VAL                                                 'jis'
        167        DO_ICALL                                         $80     
        168        SEND_VAR                                                 $80
        169        DO_ICALL                                                 
   49   170        ECHO                                                     'ISO-2022-JP-2004%3A+'
   50   171        INIT_FCALL                                               'var_dump'
        172        INIT_FCALL                                               'mb_check_encoding'
        173        SEND_VAR                                                 !12
        174        SEND_VAL                                                 'iso-2022-jp-2004'
        175        DO_ICALL                                         $82     
        176        SEND_VAR                                                 $82
        177        DO_ICALL                                                 
   51   178        ECHO                                                     '%0A'
   53   179        ECHO                                                     'Kasago+written+in+JIS+X+0212%0A'
   54   180        ECHO                                                     'ISO-2022-JP+++++%3A+'
   55   181        INIT_FCALL                                               'var_dump'
        182        INIT_FCALL                                               'mb_check_encoding'
        183        SEND_VAR                                                 !13
        184        SEND_VAL                                                 'iso-2022-jp'
        185        DO_ICALL                                         $84     
        186        SEND_VAR                                                 $84
        187        DO_ICALL                                                 
   56   188        ECHO                                                     'JIS+++++++++++++%3A+'
   57   189        INIT_FCALL                                               'var_dump'
        190        INIT_FCALL                                               'mb_check_encoding'
        191        SEND_VAR                                                 !13
        192        SEND_VAL                                                 'jis'
        193        DO_ICALL                                         $86     
        194        SEND_VAR                                                 $86
        195        DO_ICALL                                                 
   58   196        ECHO                                                     'ISO-2022-JP-2004%3A+'
   59   197        INIT_FCALL                                               'var_dump'
        198        INIT_FCALL                                               'mb_check_encoding'
        199        SEND_VAR                                                 !13
        200        SEND_VAL                                                 'iso-2022-jp-2004'
        201        DO_ICALL                                         $88     
        202        SEND_VAR                                                 $88
        203        DO_ICALL                                                 
   60   204        ECHO                                                     '%0A'
   62   205        ECHO                                                     'Hokke+written+in+JIS+X+0213%0A'
   63   206        ECHO                                                     'ISO-2022-JP+++++%3A+'
   64   207        INIT_FCALL                                               'var_dump'
        208        INIT_FCALL                                               'mb_check_encoding'
        209        SEND_VAR                                                 !14
        210        SEND_VAL                                                 'iso-2022-jp'
        211        DO_ICALL                                         $90     
        212        SEND_VAR                                                 $90
        213        DO_ICALL                                                 
   65   214        ECHO                                                     'JIS+++++++++++++%3A+'
   66   215        INIT_FCALL                                               'var_dump'
        216        INIT_FCALL                                               'mb_check_encoding'
        217        SEND_VAR                                                 !14
        218        SEND_VAL                                                 'jis'
        219        DO_ICALL                                         $92     
        220        SEND_VAR                                                 $92
        221        DO_ICALL                                                 
   67   222        ECHO                                                     'ISO-2022-JP-2004%3A+'
   68   223        INIT_FCALL                                               'var_dump'
        224        INIT_FCALL                                               'mb_check_encoding'
        225        SEND_VAR                                                 !14
        226        SEND_VAL                                                 'iso-2022-jp-2004'
        227        DO_ICALL                                         $94     
        228        SEND_VAR                                                 $94
        229        DO_ICALL                                                 
        230      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
207.99 ms | 1026 KiB | 17 Q