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 
33 public 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 
main(String[] args)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