Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[44.192.95.161] |
|
Сообщ.
#1
,
|
|
|
Прошу помощи в решении простой(как мне кажется проблеммы)
Нужно перекодировать строку Кирилицы в byte и обратно. Написал: ////////////////////////////////////////////////// byte abCommarea[] = null; String strCommarea2 = "Проба"; String strEncoding = "1025"; int iCommareaLength = 27 ; abCommarea = new byte[iCommareaLength]; abCommarea = strCommarea2.getBytes(strEncoding); String strCommarea2 = new String(abCommarea, strEncoding); ////////////////////////////////////////////////////// в результате получаю изуродованную строку: "ЂЂЂЂЂ" Как получить свои буковки назад в целости? Заранее благодарен. |
Сообщ.
#2
,
|
|
|
Кодировки - вещь скользкая, но, например, вот так у меня все работает:
String str = new String("Проба"); try { byte [] b = str.getBytes("UTF-8"); String str1 = new String(b, "UTF-8"); jTextArea1.setText(str + "{}" + str1); } catch(java.io.UnsupportedEncodingException excpt) { } В JTextArea имеем: Проба{}Проба В консоль, кстати, выводит : ?????{}????? System.out подвел |
Сообщ.
#3
,
|
|
|
Кстати, а при чем здесь 1025 ???
Читаем: Encoding names generally follow the conventions documented in RFC2278: IANA Charset Registration Procedures. If an encoding listed in the IANA Charset Registry is supported by an implementation of the Java platform then one of its names must be the name listed in the registry. Many encodings are given more than one name in the registry, in which case the registry identifies one of the names as MIME-preferred. An implementation of the Java platform must support the MIME-preferred registry name for a supported encoding if there is one; for convenience it may additionally support other registry names. The IANA MIME-preferred name of an encoding, if there is one, is often, but not necessarily, its canonical name. Following IANA convention, the mapping from IANA registry names to encodings is not case-sensitive. Every implementation of the Java platform is required to support the following character encodings. Consult the release documentation for your implementation to see if any other encodings are supported. US-ASCIISeven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the Unicode character setISO-8859-1 ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1 UTF-8Eight-bit Unicode Transformation Format UTF-16BESixteen-bit Unicode Transformation Format, big-endian byte order UTF-16LESixteen-bit Unicode Transformation Format, little-endian byte order UTF-16Sixteen-bit Unicode Transformation Format, byte order specified by a mandatory initial byte-order mark (either order accepted on input, big-endian used on output) Хм, хм... |
Сообщ.
#4
,
|
|
|
[QUOTE=tatar_0x4E, 29.05.02, 12:58:20]Кстати, а при чем здесь 1025 ???
>Читаем: > Every implementation of the Java platform is required to support the following >character encodings. Consult the release documentation for your implementation to see if >any other encodings are supported. Следуя этой здравой рекомендации находим: ┌────────────────────────────────────────────────────────────────────┐ │ Table 6. Cyrillic, EBCDIC │ ├─────────┬──────────┬─────────┬─────────────────────────────────────┤ │ SRVERCP │ CCSID │ CPGID │ ├─────────┼──────────┼─────────┼─────────────────────────────────────┤ │ 1025 │ 01025 │ 01025 │ Host: Cyrillic multilingual │ └─────────┴──────────┴─────────┴──────────────────────────── ──────┘ Спасибо за помощь. |
Сообщ.
#5
,
|
|
|
[QUOTE=tatar_0x4E, 29.05.02, 12:58:20]Кстати, а при чем здесь 1025 ???
>Читаем: > Every implementation of the Java platform is required to support the following >character encodings. Consult the release documentation for your implementation to see if >any other encodings are supported. Следуя этой здравой рекомендации находим: ...... Н да процитировать доку не удалось, опять кодировка:) Короче 1025 это Cyrillic,EBCDIC Спасибо за помощь. |
Сообщ.
#6
,
|
|
|
Цитата Ezdon, 30.05.02, 13:23:33 Кстати, а при чем здесь 1025 ??? >Читаем: > Every implementation of the Java platform is required to support the following >character encodings. Consult the release documentation for your implementation to see if >any other encodings are supported. Следуя этой здравой рекомендации находим: ...... Н да процитировать доку не удалось, опять кодировка:) Короче 1025 это Cyrillic,EBCDIC Спасибо за помощь. Это я догадался, просто был не уверен что стандартное написание именно 1025, обычно там присутствуют буквенные обозначения Впрочем, я так понимаю, ты пишешь для какого-нибудь AIX, так что все может быть Насчет помощи - you are welcom |