Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 06:34 30.05.24 
Клубове/ Компютри и Интернет / Delphi Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема utf8encode и utf8decode
Авторlongy (Нерегистриран) 
Публикувано01.08.07 16:55  



Пиша в delphi клуба, защото тук съм получавал добри отговори на много въпроси.
този специално е повече свързан с .НЕТ - по-точно с невъзможността ми да получа същата функционалност както при delphi :(
с delphi програмката всичко си е ок, но с .нет не се получава и това си е.

От време на време се връщам към този проблем.
междувременно се намират по-важни неща, но това продължава да ме тормози и просто не вярвам, че единствения начин е да си напиша собствена имплементация.

Опитвам се със стандартните възможности на .NET да постигна това, което в delphi се прави със стандартните функции utf8Encode() и utf8Decode(), които съответно получават widestring (т.е. unicode string в delphi) и го енкодват в utf8 и обратно - от utf8-енкоднат стринг връщат widestring.

Написах си 2 helper функции със същите имена:

=======================================

using System;
using System.Text;

namespace helpers
{
/// <summary>
/// Description of helper.
/// </summary>
public class Text
{
public static string utf8Encode(string ws) {
byte[] encoded = Encoding.UTF8.GetBytes(ws);

return Encoding.Default.GetString(encoded);
}

public static string utf8Decode(string s) {
byte[] decoded = Encoding.Unicode.GetBytes(s);

return Encoding.Unicode.GetString(decoded);
}
}
}

========================================
Правя следния опит:
1) имам следния текст: "тест test" (т.е. тест на кирилица, после <интервал>, после test на латиница)
2) целта е като направя utf8Encode и после utf8Decode да получа пак същия текст.

Delphi:
---unicode data:---
тест test
codes:
[242][229][241][242][32][116][101][115][116]

извиквам utf8Encode(unicode data):
получавам:
---utf8 data:---
тест test
codes:
[209][130][208][181][209][129][209][130][32][116][101][115][116]

извиквам utf8Decode(utf8 data):
получавам:

---unicode data:---
тест test
codes:
[242][229][241][242][32][116][101][115][116]


C#.NET:
---unicode data:---
тест test
codes:
[242][229][241][242][32][116][101][115][116]

извиквам Text.utf8Encode(unicode data):
получавам:
---utf8 data:---
тест test
codes:
[209][130][208][181][209][129][209][130][32][116][101][115][116]

дотук супер :))
обаче...
извиквам Text.utf8Decode(utf8 data):
получавам:

---unicode data:---
тест test
codes:
[209][130][208][181][209][129][209][130][32][116][101][115][116]


т.е. никакъв ефект
какво ли не пробвах - всички възможни Encoding.
излиза какво ли не, само не и първоначалния текст.

Някой може ли да помогне или да правя хамалогии като се опитам сам да си напиша decode-ването ?
Благодаря предварително



Цялата тема
ТемаАвторПубликувано
* utf8encode и utf8decode longy   01.08.07 16:55
. * Re: utf8encode и utf8decode Formal   02.08.07 12:20
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.