3v4l.org

run code in 500+ 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 "Hokke 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 "Kasago 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/tSsN1
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                                                         'Hokke+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                                                         'Kasago+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.5.0


preferences:
128.87 ms | 502 KiB | 11 Q