1/*
2 * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24/* @test
25   @bug 4634811
26   @summary Check Unicode 2.1 --> Big5-HKSCS reverse compatible mappings
27 */
28
29/*
30 * Mappings sourced from www.info.gov.hk/digital21/eng/hkscs
31 */
32
33public class TestUni2HKSCS {
34    private static final String uni21String =
35        "\uF3F5\uF3F8\uF3FD\uF403\uF413\uF415\uF418\uF419\uF41A"+
36        "\uF424\uF426\uF428\uF42B\uF42C\uF42D\uF437\uF439"+
37        "\uF43A\uF43C\uF445\uF44A\uF44E\uF44F\uF464\uF468"+
38        "\uF46A\uF46B\uF473\uF47A\uF487\uF489\uF493\uF494"+
39        "\uF496\uF49D\uF4A2\uF4AB\uF4AC\uF4AE\uF4B5\uF4C6"+
40        "\uF4CB\uF4D6\uF4E1\uF4FA\uF502\uF504\uF51E\uF529"+
41        "\uF52D\uF52E\uF530\uF536\uF540\uF544\uF554\uF637"+
42        "\uF638\uF63B\uF63C\uF641\uF642\uF643\uF644\uF648"+
43        "\uF64C\uF651\uF653\uF658\uF65D\uF65F\uF662\uF664"+
44        "\uF666\uF669\uF66C\uF66D\uF66E\uF675\uF677\uF67C"+
45        "\uF67E\uF688\uF68D\uF69D\uF6A1\uF6A2\uF6A5\uF6A7"+
46        "\uF6AE\uF6AF\uE316\uE326\uE32A\uE33C\uE351\uE35E"+
47        "\uE368\uE376\uE378\uE387\uE39C\uE3AD\uE3B3\uE3BE"+
48        "\uE3C2\uE3C7\uE3CB\uE3D1\uE3D2\uE3DE\uE3E2\uE3E4"+
49        "\uE3E8\uE3EA\uE3F5\uE3F7\uE406\uE40E\uE427\uE437"+
50        "\uE43D\uE449\uE44F\uE460\uE46B\uE47A\uE493\uE4A0"+
51        "\uE4A5\uE4A9\uE4B2\uE4BE\uE4BF\uE4C0\uE4DE\uE4E3"+
52        "\uE4E5\uE4ED\uE4F7\uE500\uE507\uE50E\uE534\uE539"+
53        "\uE53A\uE53B\uE53D\uE541\uE553\uE569\uE574\uE578"+
54        "\uE57B\uE57F\uE591\uE596\uE597\uE598\uE59C\uE5AE"+
55        "\uE5B9\uE5BC\uE5E0\uE5EC\uE5F5\uE5FA\uE5FE\uE60C"+
56        "\uE61D\uE629\uE62D\uE639\uE63B\uE63D\uE651\uE664"+
57        "\uE675\uE681\uE682\uE68D\uE694\uE69D\uE6A0\uE6A4"+
58        "\uE6A9\uE6AB\uE6B6\uE6C8\uE6E2\uE6E3\uE6E8\uE6ED"+
59        "\uE6EF\uE6F1\uE6F4\uE6F8\uE6FD\uE6FE\uE700\uE712"+
60        "\uE716\uE719\uE726\uE72E\uE730\uE738\uE73A\uE73B"+
61        "\uE749\uE74C\uE760\uE776\uE77E\uE780\uE78F\uE7AA"+
62        "\uE7AC\uE7AD\uE7AE\uE7C0\uE7C1\uE7C7\uE7CB\uE7D0"+
63        "\uE7D5\uE7D9\uE7E6\uE7EA\uE7F0\uE7F6\uE7FA\uE806"+
64        "\uE815\uE81B\uE81D\uE822\uE824\uE82E\uE831\uE832"+
65        "\uE83D\uE83F\uE850\uE853\uE85F\uE86B\uE86D\uE876"+
66        "\uE880\uE88E\uE899\uE89B\uE89C\uE8B3\uE8B7\uE8BC"+
67        "\uE8D2\uE8E2\uE8E4\uE8EC\uE8EE\uE8F4\uE8F6\uE8F7"+
68        "\uE8F9\uE8FA\uE8FD\uE901\uE906\uE90B\uE90E\uE90F"+
69        "\uE910\uE911\uE912\uE915\uE91B\uE931\uE932\uE946"+
70        "\uE949\uE965\uE96C\uE979\uE98D\uE994\uE996\uE99C"+
71        "\uE99D\uE99E\uE99F\uE9A1\uE9A2\uE9A7\uE9AA\uE9AC"+
72        "\uE9AE\uE9B5\uE9B7\uE9B9\uE9BA\uE9BC\uE9BD\uE9C5"+
73        "\uE9CF\uE9D0\uE9D6\uE9D8\uE9DB\uE9DE\uE9E5\uE9E6"+
74        "\uE9E9\uE9EB\uE9F7\uE9FE\uEA03\uEA0A\uEA0B\uEA0F"+
75        "\uEA13\uEA15\uEA1B\uEA21\uEA2A\uEA31\uEA35\uEA3C"+
76        "\uEA3D\uEA4C\uEA4F\uEA57\uEA63\uEA66\uEA75\uEA76"+
77        "\uEA7D\uEA82\uEA85\uEA87\uEA89\uEA8D\uEA90\uEA9B"+
78        "\uEA9D\uEAA6\uEAA8\uEAC8\uEAF7\uEB17\uEB51\uEB52"+
79        "\uEB60\uEB66\uEB6A\uEB87\uEB8B\uEB92\uEB96\uEBB1"+
80        "\uEBC3\uEBD6\uEBE0\uEBE6\uEBEA\uEBFF\uEC00\uEC03"+
81        "\uEC0B\uEC0D\uEC16\uEC3D\uEC4A\uEC4D\uEC53\uEC55"+
82        "\uEC61\uEC77\uEC7C\uEC7F\uEC87\uEC8C\uEC8F\uEC97"+
83        "\uECAE\uECB0\uECD0\uECD5\uECF4\uED05\uED1B\uED1F"+
84        "\uED23\uED33\uED37\uED38\uED3A\uED44\uED48\uED4C"+
85        "\uED59\uED5C\uED5D\uED5E\uED64\uED66\uED6D\uED6F"+
86        "\uED7B\uEDAE\uEDC1\uEDF3\uEDF5\uEE2E\uEE43\uEE45"+
87        "\uEE4A\uEE53\uEE59\uEE65\uEE89\uEE93\uEE97\uEE9F"+
88        "\uEEB2\uF6DD\uF820\uF821\uF822\uF823\uF824\uF825"+
89        "\uF826\uF827\uF828\uF829\uF82A\uF82B\uF82C\uF82D"+
90        "\uF82E\uF82F\uF830\uF831\uF832\uF833\uF834\uF835"+
91        "\uF836\uF837\uF838\uF839\uF83A\uF83B\uE005\uE008"+
92        "\uE028\uE02B\uE043\uE06A\uE06B\uE06E\uE07E\uE086"+
93        "\uE098\uE09B\uE0A0\uE0A8\uE0BB\uE0C2\uE0CD\uE0D7"+
94        "\uE0DA\uE0F1\uE0F4\uE0FA\uE0FC\uE104\uE105\uE10E"+
95        "\uE117\uE125\uE12A\uE12B\uE13C\uE143\uE144\uE153"+
96        "\uE15E\uE15F\uE160\uE164\uE17E\uE18C\uE19A\uE19C"+
97        "\uE1A7\uE1A9\uE1C6\uE1CF\uE1E0\uE1E1\uE1E3\uE1E7"+
98        "\uE1EA\uE1F4\uE1F8\uE203\uE211\uE217\uE218\uE239"+
99        "\uE23F\uE243\uE246\uE25D\uE25E\uE281\uE28A\uE298"+
100        "\uE2A2\uE2AC\uE2B1\uE2C8\uE2D7\uE30D";
101
102    private static final byte[] expectedBytes =
103        {(byte)0x89,(byte)0xb7,(byte)0x89,(byte)0xba,(byte)0x89,
104        (byte)0xbf,(byte)0x89,(byte)0xc5,(byte)0x89,(byte)0xd5,
105        (byte)0x89,(byte)0xd7,(byte)0x89,(byte)0xda,(byte)0x89,
106        (byte)0xdb,(byte)0x89,(byte)0xdc,(byte)0x89,(byte)0xe6,
107        (byte)0x89,(byte)0xe8,(byte)0x89,(byte)0xea,(byte)0x89,
108        (byte)0xed,(byte)0x89,(byte)0xee,(byte)0x89,(byte)0xef,
109        (byte)0x89,(byte)0xf9,(byte)0x89,(byte)0xfb,(byte)0x89,
110        (byte)0xfc,(byte)0x89,(byte)0xfe,(byte)0x8a,(byte)0x48,
111        (byte)0x8a,(byte)0x4d,(byte)0x8a,(byte)0x51,(byte)0x8a,
112        (byte)0x52,(byte)0x8a,(byte)0x67,(byte)0x8a,(byte)0x6b,
113        (byte)0x8a,(byte)0x6d,(byte)0x8a,(byte)0x6e,(byte)0x8a,
114        (byte)0x76,(byte)0x8a,(byte)0x7d,(byte)0x8a,(byte)0xac,
115        (byte)0x8a,(byte)0xae,(byte)0x8a,(byte)0xb8,(byte)0x8a,
116        (byte)0xb9,(byte)0x8a,(byte)0xbb,(byte)0x8a,(byte)0xc2,
117        (byte)0x8a,(byte)0xc7,(byte)0x8a,(byte)0xd0,(byte)0x8a,
118        (byte)0xd1,(byte)0x8a,(byte)0xd3,(byte)0x8a,(byte)0xda,
119        (byte)0x8a,(byte)0xeb,(byte)0x8a,(byte)0xf0,(byte)0x8a,
120        (byte)0xfb,(byte)0x8b,(byte)0x47,(byte)0x8b,(byte)0x60,
121        (byte)0x8b,(byte)0x68,(byte)0x8b,(byte)0x6a,(byte)0x8b,
122        (byte)0xa6,(byte)0x8b,(byte)0xb1,(byte)0x8b,(byte)0xb5,
123        (byte)0x8b,(byte)0xb6,(byte)0x8b,(byte)0xb8,(byte)0x8b,
124        (byte)0xbe,(byte)0x8b,(byte)0xc8,(byte)0x8b,(byte)0xcc,
125        (byte)0x8b,(byte)0xdc,(byte)0x8d,(byte)0x63,(byte)0x8d,
126        (byte)0x64,(byte)0x8d,(byte)0x67,(byte)0x8d,(byte)0x68,
127        (byte)0x8d,(byte)0x6d,(byte)0x8d,(byte)0x6e,(byte)0x8d,
128        (byte)0x6f,(byte)0x8d,(byte)0x70,(byte)0x8d,(byte)0x74,
129        (byte)0x8d,(byte)0x78,(byte)0x8d,(byte)0x7d,(byte)0x8d,
130        (byte)0xa1,(byte)0x8d,(byte)0xa6,(byte)0x8d,(byte)0xab,
131        (byte)0x8d,(byte)0xad,(byte)0x8d,(byte)0xb0,(byte)0x8d,
132        (byte)0xb2,(byte)0x8d,(byte)0xb4,(byte)0x8d,(byte)0xb7,
133        (byte)0x8d,(byte)0xba,(byte)0x8d,(byte)0xbb,(byte)0x8d,
134        (byte)0xbc,(byte)0x8d,(byte)0xc3,(byte)0x8d,(byte)0xc5,
135        (byte)0x8d,(byte)0xca,(byte)0x8d,(byte)0xcc,(byte)0x8d,
136        (byte)0xd6,(byte)0x8d,(byte)0xdb,(byte)0x8d,(byte)0xeb,
137        (byte)0x8d,(byte)0xef,(byte)0x8d,(byte)0xf0,(byte)0x8d,
138        (byte)0xf3,(byte)0x8d,(byte)0xf5,(byte)0x8d,(byte)0xfc,
139        (byte)0x8d,(byte)0xfd,(byte)0x8e,(byte)0x45,(byte)0x8e,
140        (byte)0x55,(byte)0x8e,(byte)0x59,(byte)0x8e,(byte)0x6b,
141        (byte)0x8e,(byte)0xa2,(byte)0x8e,(byte)0xaf,(byte)0x8e,
142        (byte)0xb9,(byte)0x8e,(byte)0xc7,(byte)0x8e,(byte)0xc9,
143        (byte)0x8e,(byte)0xd8,(byte)0x8e,(byte)0xed,(byte)0x8e,
144        (byte)0xfe,(byte)0x8f,(byte)0x45,(byte)0x8f,(byte)0x50,
145        (byte)0x8f,(byte)0x54,(byte)0x8f,(byte)0x59,(byte)0x8f,
146        (byte)0x5d,(byte)0x8f,(byte)0x63,(byte)0x8f,(byte)0x64,
147        (byte)0x8f,(byte)0x70,(byte)0x8f,(byte)0x74,(byte)0x8f,
148        (byte)0x76,(byte)0x8f,(byte)0x7a,(byte)0x8f,(byte)0x7c,
149        (byte)0x8f,(byte)0xa9,(byte)0x8f,(byte)0xab,(byte)0x8f,
150        (byte)0xba,(byte)0x8f,(byte)0xc2,(byte)0x8f,(byte)0xdb,
151        (byte)0x8f,(byte)0xeb,(byte)0x8f,(byte)0xf1,(byte)0x8f,
152        (byte)0xfd,(byte)0x90,(byte)0x44,(byte)0x90,(byte)0x55,
153        (byte)0x90,(byte)0x60,(byte)0x90,(byte)0x6f,(byte)0x90,
154        (byte)0xaa,(byte)0x90,(byte)0xb7,(byte)0x90,(byte)0xbc,
155        (byte)0x90,(byte)0xc0,(byte)0x90,(byte)0xc9,(byte)0x90,
156        (byte)0xd5,(byte)0x90,(byte)0xd6,(byte)0x90,(byte)0xd7,
157        (byte)0x90,(byte)0xf5,(byte)0x90,(byte)0xfa,(byte)0x90,
158        (byte)0xfc,(byte)0x91,(byte)0x45,(byte)0x91,(byte)0x4f,
159        (byte)0x91,(byte)0x58,(byte)0x91,(byte)0x5f,(byte)0x91,
160        (byte)0x66,(byte)0x91,(byte)0xae,(byte)0x91,(byte)0xb3,
161        (byte)0x91,(byte)0xb4,(byte)0x91,(byte)0xb5,(byte)0x91,
162        (byte)0xb7,(byte)0x91,(byte)0xbb,(byte)0x91,(byte)0xcd,
163        (byte)0x91,(byte)0xe3,(byte)0x91,(byte)0xee,(byte)0x91,
164        (byte)0xf2,(byte)0x91,(byte)0xf5,(byte)0x91,(byte)0xf9,
165        (byte)0x92,(byte)0x4c,(byte)0x92,(byte)0x51,(byte)0x92,
166        (byte)0x52,(byte)0x92,(byte)0x53,(byte)0x92,(byte)0x57,
167        (byte)0x92,(byte)0x69,(byte)0x92,(byte)0x74,(byte)0x92,
168        (byte)0x77,(byte)0x92,(byte)0xbd,(byte)0x92,(byte)0xc9,
169        (byte)0x92,(byte)0xd2,(byte)0x92,(byte)0xd7,(byte)0x92,
170        (byte)0xdb,(byte)0x92,(byte)0xe9,(byte)0x92,(byte)0xfa,
171        (byte)0x93,(byte)0x47,(byte)0x93,(byte)0x4b,(byte)0x93,
172        (byte)0x57,(byte)0x93,(byte)0x59,(byte)0x93,(byte)0x5b,
173        (byte)0x93,(byte)0x6f,(byte)0x93,(byte)0xa4,(byte)0x93,
174        (byte)0xb5,(byte)0x93,(byte)0xc1,(byte)0x93,(byte)0xc2,
175        (byte)0x93,(byte)0xcd,(byte)0x93,(byte)0xd4,(byte)0x93,
176        (byte)0xdd,(byte)0x93,(byte)0xe0,(byte)0x93,(byte)0xe4,
177        (byte)0x93,(byte)0xe9,(byte)0x93,(byte)0xeb,(byte)0x93,
178        (byte)0xf6,(byte)0x94,(byte)0x49,(byte)0x94,(byte)0x63,
179        (byte)0x94,(byte)0x64,(byte)0x94,(byte)0x69,(byte)0x94,
180        (byte)0x6e,(byte)0x94,(byte)0x70,(byte)0x94,(byte)0x72,
181        (byte)0x94,(byte)0x75,(byte)0x94,(byte)0x79,(byte)0x94,
182        (byte)0x7e,(byte)0x94,(byte)0xa1,(byte)0x94,(byte)0xa3,
183        (byte)0x94,(byte)0xb5,(byte)0x94,(byte)0xb9,(byte)0x94,
184        (byte)0xbc,(byte)0x94,(byte)0xc9,(byte)0x94,(byte)0xd1,
185        (byte)0x94,(byte)0xd3,(byte)0x94,(byte)0xdb,(byte)0x94,
186        (byte)0xdd,(byte)0x94,(byte)0xde,(byte)0x94,(byte)0xec,
187        (byte)0x94,(byte)0xef,(byte)0x95,(byte)0x44,(byte)0x95,
188        (byte)0x5a,(byte)0x95,(byte)0x62,(byte)0x95,(byte)0x64,
189        (byte)0x95,(byte)0x73,(byte)0x95,(byte)0xb0,(byte)0x95,
190        (byte)0xb2,(byte)0x95,(byte)0xb3,(byte)0x95,(byte)0xb4,
191        (byte)0x95,(byte)0xc6,(byte)0x95,(byte)0xc7,(byte)0x95,
192        (byte)0xcd,(byte)0x95,(byte)0xd1,(byte)0x95,(byte)0xd6,
193        (byte)0x95,(byte)0xdb,(byte)0x95,(byte)0xdf,(byte)0x95,
194        (byte)0xec,(byte)0x95,(byte)0xf0,(byte)0x95,(byte)0xf6,
195        (byte)0x95,(byte)0xfc,(byte)0x96,(byte)0x41,(byte)0x96,
196        (byte)0x4d,(byte)0x96,(byte)0x5c,(byte)0x96,(byte)0x62,
197        (byte)0x96,(byte)0x64,(byte)0x96,(byte)0x69,(byte)0x96,
198        (byte)0x6b,(byte)0x96,(byte)0x75,(byte)0x96,(byte)0x78,
199        (byte)0x96,(byte)0x79,(byte)0x96,(byte)0xa6,(byte)0x96,
200        (byte)0xa8,(byte)0x96,(byte)0xb9,(byte)0x96,(byte)0xbc,
201        (byte)0x96,(byte)0xc8,(byte)0x96,(byte)0xd4,(byte)0x96,
202        (byte)0xd6,(byte)0x96,(byte)0xdf,(byte)0x96,(byte)0xe9,
203        (byte)0x96,(byte)0xf7,(byte)0x97,(byte)0x43,(byte)0x97,
204        (byte)0x45,(byte)0x97,(byte)0x46,(byte)0x97,(byte)0x5d,
205        (byte)0x97,(byte)0x61,(byte)0x97,(byte)0x66,(byte)0x97,
206        (byte)0x7c,(byte)0x97,(byte)0xae,(byte)0x97,(byte)0xb0,
207        (byte)0x97,(byte)0xb8,(byte)0x97,(byte)0xba,(byte)0x97,
208        (byte)0xc0,(byte)0x97,(byte)0xc2,(byte)0x97,(byte)0xc3,
209        (byte)0x97,(byte)0xc5,(byte)0x97,(byte)0xc6,(byte)0x97,
210        (byte)0xc9,(byte)0x97,(byte)0xcd,(byte)0x97,(byte)0xd2,
211        (byte)0x97,(byte)0xd7,(byte)0x97,(byte)0xda,(byte)0x97,
212        (byte)0xdb,(byte)0x97,(byte)0xdc,(byte)0x97,(byte)0xdd,
213        (byte)0x97,(byte)0xde,(byte)0x97,(byte)0xe1,(byte)0x97,
214        (byte)0xe7,(byte)0x97,(byte)0xfd,(byte)0x97,(byte)0xfe,
215        (byte)0x98,(byte)0x53,(byte)0x98,(byte)0x56,(byte)0x98,
216        (byte)0x72,(byte)0x98,(byte)0x79,(byte)0x98,(byte)0xa8,
217        (byte)0x98,(byte)0xbc,(byte)0x98,(byte)0xc3,(byte)0x98,
218        (byte)0xc5,(byte)0x98,(byte)0xcb,(byte)0x98,(byte)0xcc,
219        (byte)0x98,(byte)0xcd,(byte)0x98,(byte)0xce,(byte)0x98,
220        (byte)0xd0,(byte)0x98,(byte)0xd1,(byte)0x98,(byte)0xd6,
221        (byte)0x98,(byte)0xd9,(byte)0x98,(byte)0xdb,(byte)0x98,
222        (byte)0xdd,(byte)0x98,(byte)0xe4,(byte)0x98,(byte)0xe6,
223        (byte)0x98,(byte)0xe8,(byte)0x98,(byte)0xe9,(byte)0x98,
224        (byte)0xeb,(byte)0x98,(byte)0xec,(byte)0x98,(byte)0xf4,
225        (byte)0x98,(byte)0xfe,(byte)0x99,(byte)0x40,(byte)0x99,
226        (byte)0x46,(byte)0x99,(byte)0x48,(byte)0x99,(byte)0x4b,
227        (byte)0x99,(byte)0x4e,(byte)0x99,(byte)0x55,(byte)0x99,
228        (byte)0x56,(byte)0x99,(byte)0x59,(byte)0x99,(byte)0x5b,
229        (byte)0x99,(byte)0x67,(byte)0x99,(byte)0x6e,(byte)0x99,
230        (byte)0x73,(byte)0x99,(byte)0x7a,(byte)0x99,(byte)0x7b,
231        (byte)0x99,(byte)0xa1,(byte)0x99,(byte)0xa5,(byte)0x99,
232        (byte)0xa7,(byte)0x99,(byte)0xad,(byte)0x99,(byte)0xb3,
233        (byte)0x99,(byte)0xbc,(byte)0x99,(byte)0xc3,(byte)0x99,
234        (byte)0xc7,(byte)0x99,(byte)0xce,(byte)0x99,(byte)0xcf,
235        (byte)0x99,(byte)0xde,(byte)0x99,(byte)0xe1,(byte)0x99,
236        (byte)0xe9,(byte)0x99,(byte)0xf5,(byte)0x99,(byte)0xf8,
237        (byte)0x9a,(byte)0x48,(byte)0x9a,(byte)0x49,(byte)0x9a,
238        (byte)0x50,(byte)0x9a,(byte)0x55,(byte)0x9a,(byte)0x58,
239        (byte)0x9a,(byte)0x5a,(byte)0x9a,(byte)0x5c,(byte)0x9a,
240        (byte)0x60,(byte)0x9a,(byte)0x63,(byte)0x9a,(byte)0x6e,
241        (byte)0x9a,(byte)0x70,(byte)0x9a,(byte)0x79,(byte)0x9a,
242        (byte)0x7b,(byte)0x9a,(byte)0xbd,(byte)0x9a,(byte)0xec,
243        (byte)0x9b,(byte)0x4d,(byte)0x9b,(byte)0xa9,(byte)0x9b,
244        (byte)0xaa,(byte)0x9b,(byte)0xb8,(byte)0x9b,(byte)0xbe,
245        (byte)0x9b,(byte)0xc2,(byte)0x9b,(byte)0xdf,(byte)0x9b,
246        (byte)0xe3,(byte)0x9b,(byte)0xea,(byte)0x9b,(byte)0xee,
247        (byte)0x9c,(byte)0x4a,(byte)0x9c,(byte)0x5c,(byte)0x9c,
248        (byte)0x6f,(byte)0x9c,(byte)0x79,(byte)0x9c,(byte)0xa1,
249        (byte)0x9c,(byte)0xa5,(byte)0x9c,(byte)0xba,(byte)0x9c,
250        (byte)0xbb,(byte)0x9c,(byte)0xbe,(byte)0x9c,(byte)0xc6,
251        (byte)0x9c,(byte)0xc8,(byte)0x9c,(byte)0xd1,(byte)0x9c,
252        (byte)0xf8,(byte)0x9d,(byte)0x46,(byte)0x9d,(byte)0x49,
253        (byte)0x9d,(byte)0x4f,(byte)0x9d,(byte)0x51,(byte)0x9d,
254        (byte)0x5d,(byte)0x9d,(byte)0x73,(byte)0x9d,(byte)0x78,
255        (byte)0x9d,(byte)0x7b,(byte)0x9d,(byte)0xa5,(byte)0x9d,
256        (byte)0xaa,(byte)0x9d,(byte)0xad,(byte)0x9d,(byte)0xb5,
257        (byte)0x9d,(byte)0xcc,(byte)0x9d,(byte)0xce,(byte)0x9d,
258        (byte)0xee,(byte)0x9d,(byte)0xf3,(byte)0x9e,(byte)0x53,
259        (byte)0x9e,(byte)0x64,(byte)0x9e,(byte)0x7a,(byte)0x9e,
260        (byte)0x7e,(byte)0x9e,(byte)0xa4,(byte)0x9e,(byte)0xb4,
261        (byte)0x9e,(byte)0xb8,(byte)0x9e,(byte)0xb9,(byte)0x9e,
262        (byte)0xbb,(byte)0x9e,(byte)0xc5,(byte)0x9e,(byte)0xc9,
263        (byte)0x9e,(byte)0xcd,(byte)0x9e,(byte)0xda,(byte)0x9e,
264        (byte)0xdd,(byte)0x9e,(byte)0xde,(byte)0x9e,(byte)0xdf,
265        (byte)0x9e,(byte)0xe5,(byte)0x9e,(byte)0xe7,(byte)0x9e,
266        (byte)0xee,(byte)0x9e,(byte)0xf0,(byte)0x9e,(byte)0xfc,
267        (byte)0x9f,(byte)0x70,(byte)0x9f,(byte)0xa5,(byte)0x9f,
268        (byte)0xd7,(byte)0x9f,(byte)0xd9,(byte)0xa0,(byte)0x53,
269        (byte)0xa0,(byte)0x68,(byte)0xa0,(byte)0x6a,(byte)0xa0,
270        (byte)0x6f,(byte)0xa0,(byte)0x78,(byte)0xa0,(byte)0x7e,
271        (byte)0xa0,(byte)0xac,(byte)0xa0,(byte)0xd0,(byte)0xa0,
272        (byte)0xda,(byte)0xa0,(byte)0xde,(byte)0xa0,(byte)0xe6,
273        (byte)0xa0,(byte)0xf9,(byte)0xc6,(byte)0xcd,(byte)0xc8,
274        (byte)0xd6,(byte)0xc8,(byte)0xd7,(byte)0xc8,(byte)0xd8,
275        (byte)0xc8,(byte)0xd9,(byte)0xc8,(byte)0xda,(byte)0xc8,
276        (byte)0xdb,(byte)0xc8,(byte)0xdc,(byte)0xc8,(byte)0xdd,
277        (byte)0xc8,(byte)0xde,(byte)0xc8,(byte)0xdf,(byte)0xc8,
278        (byte)0xe0,(byte)0xc8,(byte)0xe1,(byte)0xc8,(byte)0xe2,
279        (byte)0xc8,(byte)0xe3,(byte)0xc8,(byte)0xe4,(byte)0xc8,
280        (byte)0xe5,(byte)0xc8,(byte)0xe6,(byte)0xc8,(byte)0xe7,
281        (byte)0xc8,(byte)0xe8,(byte)0xc8,(byte)0xe9,(byte)0xc8,
282        (byte)0xea,(byte)0xc8,(byte)0xeb,(byte)0xc8,(byte)0xec,
283        (byte)0xc8,(byte)0xed,(byte)0xc8,(byte)0xee,(byte)0xc8,
284        (byte)0xef,(byte)0xc8,(byte)0xf0,(byte)0xc8,(byte)0xf1,
285        (byte)0xfa,(byte)0x45,(byte)0xfa,(byte)0x48,(byte)0xfa,
286        (byte)0x68,(byte)0xfa,(byte)0x6b,(byte)0xfa,(byte)0xa5,
287        (byte)0xfa,(byte)0xcc,(byte)0xfa,(byte)0xcd,(byte)0xfa,
288        (byte)0xd0,(byte)0xfa,(byte)0xe0,(byte)0xfa,(byte)0xe8,
289        (byte)0xfa,(byte)0xfa,(byte)0xfa,(byte)0xfd,(byte)0xfb,
290        (byte)0x43,(byte)0xfb,(byte)0x4b,(byte)0xfb,(byte)0x5e,
291        (byte)0xfb,(byte)0x65,(byte)0xfb,(byte)0x70,(byte)0xfb,
292        (byte)0x7a,(byte)0xfb,(byte)0x7d,(byte)0xfb,(byte)0xb6,
293        (byte)0xfb,(byte)0xb9,(byte)0xfb,(byte)0xbf,(byte)0xfb,
294        (byte)0xc1,(byte)0xfb,(byte)0xc9,(byte)0xfb,(byte)0xca,
295        (byte)0xfb,(byte)0xd3,(byte)0xfb,(byte)0xdc,(byte)0xfb,
296        (byte)0xea,(byte)0xfb,(byte)0xef,(byte)0xfb,(byte)0xf0,
297        (byte)0xfc,(byte)0x42,(byte)0xfc,(byte)0x49,(byte)0xfc,
298        (byte)0x4a,(byte)0xfc,(byte)0x59,(byte)0xfc,(byte)0x64,
299        (byte)0xfc,(byte)0x65,(byte)0xfc,(byte)0x66,(byte)0xfc,
300        (byte)0x6a,(byte)0xfc,(byte)0xa6,(byte)0xfc,(byte)0xb4,
301        (byte)0xfc,(byte)0xc2,(byte)0xfc,(byte)0xc4,(byte)0xfc,
302        (byte)0xcf,(byte)0xfc,(byte)0xd1,(byte)0xfc,(byte)0xee,
303        (byte)0xfc,(byte)0xf7,(byte)0xfd,(byte)0x49,(byte)0xfd,
304        (byte)0x4a,(byte)0xfd,(byte)0x4c,(byte)0xfd,(byte)0x50,
305        (byte)0xfd,(byte)0x53,(byte)0xfd,(byte)0x5d,(byte)0xfd,
306        (byte)0x61,(byte)0xfd,(byte)0x6c,(byte)0xfd,(byte)0x7a,
307        (byte)0xfd,(byte)0xa2,(byte)0xfd,(byte)0xa3,(byte)0xfd,
308        (byte)0xc4,(byte)0xfd,(byte)0xca,(byte)0xfd,(byte)0xce,
309        (byte)0xfd,(byte)0xd1,(byte)0xfd,(byte)0xe8,(byte)0xfd,
310        (byte)0xe9,(byte)0xfe,(byte)0x4d,(byte)0xfe,(byte)0x56,
311        (byte)0xfe,(byte)0x64,(byte)0xfe,(byte)0x6e,(byte)0xfe,
312        (byte)0x78,(byte)0xfe,(byte)0x7d,(byte)0xfe,(byte)0xb6,
313        (byte)0xfe,(byte)0xc5,(byte)0xfe,(byte)0xfb };
314
315    public static void main(String[] args) throws Exception {
316        byte[] encodedBytes = new byte[1000];
317
318        encodedBytes = uni21String.getBytes("Big5-HKSCS");
319
320        for (int i = 0; i < encodedBytes.length - 1; i++) {
321            if (encodedBytes[i] != expectedBytes[i]
322                || encodedBytes[i+1] != expectedBytes[i+1]) {
323           throw new Exception("Unexpected char->byte HKSCS mappings");
324            }
325        }
326    }
327}
328