Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- String str = "a吉野屋𠮷野\r\n屋ア緣イ?";
- // byte[] bytes = str.getBytes("Windows-31j");
- char alt = '□';
- final String charset = "Windows-31j";
- String filteredStr = filterLowSurrogate(str);
- String translatedStr = new String(str.getBytes(charset), Charset.forName(charset));
- StringBuilder sb = new StringBuilder(filteredStr.length());
- for (int i = 0; i < filteredStr.length(); i++) {
- char c1 = filteredStr.charAt(i);
- char c2 = translatedStr.charAt(i);
- if (c1 == c2) {
- sb.append(c1);
- } else {
- sb.append(alt);
- }
- String x1 = Integer.toHexString(c1).toUpperCase();
- String x2 = Integer.toHexString(c2).toUpperCase();
- System.out.println(x1 + ":" + x2);
- }
- String str2 = sb.toString();
- System.out.println("---");
- System.out.println(str);
- System.out.println("---");
- System.out.println(filteredStr);
- System.out.println("---");
- System.out.println(str2);
- System.out.println("---");
- System.out.println(new String(str2.getBytes(charset), Charset.forName(charset)));
Add Comment
Please, Sign In to add comment