Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
two byte UTF-16 Unicode
|
|||
|---|---|---|---|
|
#18+
привет! вот уже который день ищу в интернете информацию по сабжу... безрезультатно... мне всего-то нужно строку перекодировать в эту самую "two byte UTF-16 Unicode"... вобщем после кодировки должно выйти чо-то типа 031903a80398 (это закодированы три символа...) помогите, плиз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2004, 14:23 |
|
||
|
two byte UTF-16 Unicode
|
|||
|---|---|---|---|
|
#18+
Строки во фреймворке всегда юникоидные :) Чтобы получить массив байтов нужно сказать: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2004, 22:56 |
|
||
|
two byte UTF-16 Unicode
|
|||
|---|---|---|---|
|
#18+
благодарю за ответ. но тут не все так просто как хотелось бы. вобщем кодирую слово "блин" (без кавычек) нужно что бы было: 00E100EB00E800ED такой код: static string Char24CharsUTF8(string s) { StringBuilder sb = new StringBuilder(); byte[] data = Encoding.UTF8.GetBytes(s); for (int i = 0; i < data.Length; i++) sb.Append(data .ToString("X2")); return sb.ToString(); } дает мне D0B1D0BBD0B8D0BD ... что не так делаю? что не так делаю? есть мысли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2004, 13:41 |
|
||
|
two byte UTF-16 Unicode
|
|||
|---|---|---|---|
|
#18+
неужели никто не овтетит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 08:54 |
|
||
|
two byte UTF-16 Unicode
|
|||
|---|---|---|---|
|
#18+
Что-то у тебя не сходится! Строку 00E100EB00E800ED ты для русского языка получить не можешь! Ибо UTF образуется как <codepage><code symb> а 00 это код латинской таблицы. Для русского языка он должен быть 04 (или что-то подобное, если это белорусский, украинский и т.д.). Но никак не 00! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 10:31 |
|
||
|
two byte UTF-16 Unicode
|
|||
|---|---|---|---|
|
#18+
Игорь, эти все дела я делаю для смс-гейтвея. ситуация такая. На сайте N я захожу, страница в ISO Western Europe, ввожу текст "блин" - получаю 00E100EB00E800ED. отсылаю СМС. все пучком. захожу еще раз на сайт, выставляю UTF-8, ввожу то же слово, получаю другой результат, отсылаю СМС - получаю крякозяблы. у себя в коде следуя этому алгоритму делаю следующее: static string Char24CharsUTF8(string s) { StringBuilder sb = new StringBuilder(); byte[] data = Encoding.UTF8.GetBytes(s); /**/ Encoding ISO8859 = Encoding.GetEncoding("ISO-8859-1"); Encoding UTF8 = Encoding.GetEncoding("UTF-8"); data = Encoding.Convert(UTF8,ISO8859,data); /**/ for (int i = 0; i < data.Length; i++) sb.Append(data .ToString("X4")); return sb.ToString(); } и понятно что получаю чепуху, закодированные знаки вопроса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 11:14 |
|
||
|
two byte UTF-16 Unicode
|
|||
|---|---|---|---|
|
#18+
На самом деле, переключение кодировок - не показатель. Еще неизвестно как они клавиатуру отрабатывают. А в твоем коде - явная ошибка for (int i = 0; i < data.Length; i++) sb.Append(data.ToString("X4")); будет всегда выдавать 00ху, потому что data - byte. Но, по идее, ты все делаешь правильно. А ты уверен, что тебе нужна именно ISO? Я пробовал отправлять СМС руками. И могу сказать, что это зависит от оператора. На одного из наших нормально уходило в 1251, а для всех остальных - нужно было в заголовке письма выставлять charset. Другой же, считал "родной" - koi8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 15:39 |
|
||
|
two byte UTF-16 Unicode
|
|||
|---|---|---|---|
|
#18+
Благодарю за ответ. В результате коллективной работы родилось вот это: static string UTF8(string s) { StringBuilder sb = new StringBuilder(); byte[] data = Encoding.Unicode.GetBytes(s); for (int i = 0; i < data.Length; i=i+2) { sb.Append(data[i+1].ToString("X2")); sb.Append(data .ToString("X2")); } return sb.ToString(); } что решает поставленные задачи. Огромное мерси моим друзьям, которые не посещаютэтот форум :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2004, 07:36 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32435480&tid=1439429]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 264ms |
| total: | 417ms |

| 0 / 0 |
