<?php
/*
* 例:utf8gb2312互转
* $xyy=new GB2312UTF8();
* $UTF8=$xyy->GB2312TOUTF8("i lover 你!");
* $GB2312=$xyy->UTF8TOGB2312($UTF8);
* echo $UTF8."<br>".$GB2312;
*/
class GB2312UTF8{
var $GB2312=array();
function GB2312UTF8(){
$this->GB2312 = array(
'0x2121 0x3000', // #IDEOGRAPHIC SPACE
'0x2122 0x3001', // #IDEOGRAPHIC COMMA
'0x2123 0x3002', // #IDEOGRAPHIC FULL STOP
'0x2124 0x30FB', // #KATAKANA MIDDLE DOT
'0x2125 0x02C9', // #MODIFIER LETTER MACRON (Mandarin Chinese first tone)
'0x2126 0x02C7', // #CARON (Mandarin Chinese third tone)
'0x2127 0x00A8', // #DIAERESIS
'0x2128 0x3003', // #DITTO MARK
'0x2129 0x3005', // #IDEOGRAPHIC ITERATION MARK
'0x212A 0x2015', // #HORIZONTAL BAR
'0x212B 0xFF5E', // #FULLWIDTH TILDE
'0x212C 0x2016', // #DOUBLE VERTICAL LINE
'0x212D 0x2026', // #HORIZONTAL ELLIPSIS
'0x212E 0x2018', // #LEFT SINGLE QUOTATION MARK
'0x212F 0x2019', // #RIGHT SINGLE QUOTATION MARK
'0x2130 0x201C', // #LEFT DOUBLE QUOTATION MARK
'0x2131 0x201D', // #RIGHT DOUBLE QUOTATION MARK
'0x2132 0x3014', // #LEFT TORTOISE SHELL BRACKET
'0x2133 0x3015', // #RIGHT TORTOISE SHELL BRACKET
'0x2134 0x3008', // #LEFT ANGLE BRACKET
'0x2135 0x3009', // #RIGHT ANGLE BRACKET
'0x2136 0x300A', // #LEFT DOUBLE ANGLE BRACKET
'0x2137 0x300B', // #RIGHT DOUBLE ANGLE BRACKET
'0x2138 0x300C', // #LEFT CORNER BRACKET
'0x2139 0x300D', // #RIGHT CORNER BRACKET
'0x213A 0x300E', // #LEFT WHITE CORNER BRACKET
'0x213B 0x300F', // #RIGHT WHITE CORNER BRACKET
'0x213C 0x3016', // #LEFT WHITE LENTICULAR BRACKET
'0x213D 0x3017', // #RIGHT WHITE LENTICULAR BRACKET
'0x213E 0x3010', // #LEFT BLACK LENTICULAR BRACKET
'0x213F 0x3011', // #RIGHT BLACK LENTICULAR BRACKET
'0x2140 0x00B1', // #PLUS-MINUS SIGN
'0x2141 0x00D7', // #MULTIPLICATION SIGN
'0x2142 0x00F7', // #DIVISION SIGN
'0x2143 0x2236', // #RATIO
'0x2144 0x2227', // #LOGICAL AND
'0x2145 0x2228', // #LOGICAL OR
'0x2146 0x2211', // #N-ARY SUMMATION
'0x2147 0x220F', // #N-ARY PRODUCT
'0x2148 0x222A', // #UNION
'0x2149 0x2229', // #INTERSECTION
'0x214A 0x2208', // #ELEMENT OF
'0x214B 0x2237', // #PROPORTION
'0x214C 0x221A', // #SQUARE ROOT
'0x214D 0x22A5', // #UP TACK
'0x214E 0x2225', // #PARALLEL TO
'0x214F 0x2220', // #ANGLE
'0x2150 0x2312', // #ARC
'0x2151 0x2299', // #CIRCLED DOT OPERATOR
'0x2152 0x222B', // #INTEGRAL
'0x2153 0x222E', // #CONTOUR INTEGRAL
'0x2154 0x2261', // #IDENTICAL TO
'0x2155 0x224C', // #ALL EQUAL TO
'0x2156 0x2248', // #ALMOST EQUAL TO
'0x2157 0x223D', // #REVERSED TILDE
'0x2158 0x221D', // #PROPORTIONAL TO
'0x2159 0x2260', // #NOT EQUAL TO
'0x215A 0x226E', // #NOT LESS-THAN
'0x215B 0x226F', // #NOT GREATER-THAN
'0x215C 0x2264', // #LESS-THAN OR EQUAL TO
'0x215D 0x2265', // #GREATER-THAN OR EQUAL TO
'0x215E 0x221E', // #INFINITY
'0x215F 0x2235', // #BECAUSE
'0x2160 0x2234', // #THEREFORE
'0x2161 0x2642', // #MALE SIGN
'0x2162 0x2640', // #FEMALE SIGN
'0x2163 0x00B0', // #DEGREE SIGN
'0x2164 0x2032', // #PRIME
'0x2165 0x2033', // #DOUBLE PRIME
'0x2166 0x2103', // #DEGREE CELSIUS
'0x2167 0xFF04', // #FULLWIDTH DOLLAR SIGN
'0x2168 0x00A4', // #CURRENCY SIGN
'0x2169 0xFFE0', // #FULLWIDTH CENT SIGN
'0x216A 0xFFE1', // #FULLWIDTH POUND SIGN
'0x216B 0x2030', // #PER MILLE SIGN
'0x216C 0x00A7', // #SECTION SIGN
'0x216D 0x2116', // #NUMERO SIGN
'0x216E 0x2606', // #WHITE STAR
'0x216F 0x2605', // #BLACK STAR
'0x2170 0x25CB', // #WHITE CIRCLE
'0x2171 0x25CF', // #BLACK CIRCLE
'0x2172 0x25CE', // #BULLSEYE
'0x2173 0x25C7', // #WHITE DIAMOND
'0x2174 0x25C6', // #BLACK DIAMOND
'0x2175 0x25A1', // #WHITE SQUARE
'0x2176 0x25A0', // #BLACK SQUARE
'0x2177 0x25B3', // #WHITE UP-POINTING TRIANGLE
'0x2178 0x25B2', // #BLACK UP-POINTING TRIANGLE
'0x2179 0x203B', // #REFERENCE MARK
'0x217A 0x2192', // #RIGHTWARDS ARROW
'0x217B 0x2190', // #LEFTWARDS ARROW
'0x217C 0x2191', // #UPWARDS ARROW
'0x217D 0x2193', // #DOWNWARDS ARROW
'0x217E 0x3013', // #GETA MARK
'0x2231 0x2488', // #DIGIT ONE FULL STOP
'0x2232 0x2489', // #DIGIT TWO FULL STOP
'0x2233 0x248A', // #DIGIT THREE FULL STOP
'0x2234 0x248B', // #DIGIT FOUR FULL STOP
'0x2235 0x248C', // #DIGIT FIVE FULL STOP
'0x2236 0x248D', // #DIGIT SIX FULL STOP
'0x2237 0x248E', // #DIGIT SEVEN FULL STOP
'0x2238 0x248F', // #DIGIT EIGHT FULL STOP
'0x2239 0x2490', // #DIGIT NINE FULL STOP
'0x223A 0x2491', // #NUMBER TEN FULL STOP
'0x223B 0x2492', // #NUMBER ELEVEN FULL STOP
'0x223C 0x2493', // #NUMBER TWELVE FULL STOP
'0x223D 0x2494', // #NUMBER THIRTEEN FULL STOP
'0x223E 0x2495', // #NUMBER FOURTEEN FULL STOP
'0x223F 0x2496', // #NUMBER FIFTEEN FULL STOP
'0x2240 0x2497', // #NUMBER SIXTEEN FULL STOP
'0x2241 0x2498', // #NUMBER SEVENTEEN FULL STOP
'0x2242 0x2499', // #NUMBER EIGHTEEN FULL STOP
'0x2243 0x249A', // #NUMBER NINETEEN FULL STOP
'0x2244 0x249B', // #NUMBER TWENTY FULL STOP
'0x2245 0x2474', // #PARENTHESIZED DIGIT ONE
'0x2246 0x2475', // #PARENTHESIZED DIGIT TWO
'0x2247 0x2476', // #PARENTHESIZED DIGIT THREE
'0x2248 0x2477', // #PARENTHESIZED DIGIT FOUR
'0x2249 0x2478', // #PARENTHESIZED DIGIT FIVE
'0x224A 0x2479', // #PARENTHESIZED DIGIT SIX
'0x224B 0x247A', // #PARENTHESIZED DIGIT SEVEN
'0x224C 0x247B', // #PARENTHESIZED DIGIT EIGHT
'0x224D 0x247C', // #PARENTHESIZED DIGIT NINE
'0x224E 0x247D', // #PARENTHESIZED NUMBER TEN
'0x224F 0x247E', // #PARENTHESIZED NUMBER ELEVEN
'0x2250 0x247F', // #PARENTHESIZED NUMBER TWELVE
'0x2251 0x2480', // #PARENTHESIZED NUMBER THIRTEEN
'0x2252 0x2481', // #PARENTHESIZED NUMBER FOURTEEN
'0x2253 0x2482', // #PARENTHESIZED NUMBER FIFTEEN
'0x2254 0x2483', // #PARENTHESIZED NUMBER SIXTEEN
'0x2255 0x2484', // #PARENTHESIZED NUMBER SEVENTEEN
'0x2256 0x2485', // #PARENTHESIZED NUMBER EIGHTEEN
'0x2257 0x2486', // #PARENTHESIZED NUMBER NINETEEN
'0x2258 0x2487', // #PARENTHESIZED NUMBER TWENTY
'0x2259 0x2460', // #CIRCLED DIGIT ONE
'0x225A 0x2461', // #CIRCLED DIGIT TWO
'0x225B 0x2462', // #CIRCLED DIGIT THREE
'0x225C 0x2463', // #CIRCLED DIGIT FOUR
'0x225D 0x2464', // #CIRCLED DIGIT FIVE
'0x225E 0x2465', // #CIRCLED DIGIT SIX
'0x225F 0x2466', // #CIRCLED DIGIT SEVEN
'0x2260 0x2467', // #CIRCLED DIGIT EIGHT
'0x2261 0x2468', // #CIRCLED DIGIT NINE
'0x2262 0x2469', // #CIRCLED NUMBER TEN
'0x2265 0x3220', // #PARENTHESIZED IDEOGRAPH ONE
'0x2266 0x3221', // #PARENTHESIZED IDEOGRAPH TWO
'0x2267 0x3222', // #PARENTHESIZED IDEOGRAPH THREE
'0x2268 0x3223', // #PARENTHESIZED IDEOGRAPH FOUR
'0x2269 0x3224', // #PARENTHESIZED IDEOGRAPH FIVE
'0x226A 0x3225', // #PARENTHESIZED IDEOGRAPH SIX
'0x226B 0x3226', // #PARENTHESIZED IDEOGRAPH SEVEN
'0x226C 0x3227', // #PARENTHESIZED IDEOGRAPH EIGHT
'0x226D 0x3228', // #PARENTHESIZED IDEOGRAPH NINE
'0x226E 0x3229', // #PARENTHESIZED IDEOGRAPH TEN
'0x2271 0x2160', // #ROMAN NUMERAL ONE
'0x2272 0x2161', // #ROMAN NUMERAL TWO
'0x2273 0x2162', // #ROMAN NUMERAL THREE
'0x2274 0x2163', // #ROMAN NUMERAL FOUR
'0x2275 0x2164', // #ROMAN NUMERAL FIVE
'0x2276 0x2165', // #ROMAN NUMERAL SIX
'0x2277 0x2166', // #ROMAN NUMERAL SEVEN
'0x2278 0x2167', // #ROMAN NUMERAL EIGHT
'0x2279 0x2168', // #ROMAN NUMERAL NINE
'0x227A 0x2169', // #ROMAN NUMERAL TEN
'0x227B 0x216A', // #ROMAN NUMERAL ELEVEN
'0x227C 0x216B', // #ROMAN NUMERAL TWELVE
'0x2321 0xFF01', // #FULLWIDTH EXCLAMATION MARK
'0x2322 0xFF02', // #FULLWIDTH QUOTATION MARK
'0x2323 0xFF03', // #FULLWIDTH NUMBER SIGN
'0x2324 0xFFE5', // #FULLWIDTH YEN SIGN
'0x2325 0xFF05', // #FULLWI