You are not logged in. This forum allows only logged in users to post. If you want to post in the forum, please log in.
Download
Entwicklung
Konto
Download
Entwicklung
Anmelden
Vergessen Konto/Passwort
Konto erstellen
Sprache
Hilfe
Sprache
Hilfe
×
Anmelden
Anmeldename
Passwort
×
Vergessen Konto/Passwort
Übersetzungsstatus von Deutsch
Kategorie:
Software
Personen
PersonalForge
Magazine
Wiki
Suche
OSDN
>
Finden Software
>
System
>
Networking
>
CLX C++ Libraries
>
Foren
>
開発者
>
uri::encode 関連の問題
CLX C++ Libraries
Beschreibung
Projekt Zusammenfassung
Entwickler-Dashboard
Web-Seite
Entwickler
Bildergalerie
RSS Feed-Liste
Aktivität
Statistiken
Historie
Downloads
Aller Releases-Liste
Statistiken
Quellcode
Quellcode-Repositorys-Liste
Subversion
Repository ansehen
Ticket
Ticket-Liste
Liste der Meilensteine
Typenliste
Komponentenliste
Liste der zuletzt benutzten Tickets/RSS
Neue Ticket abschicken
Kommunikation
Forum-Liste
ヘルプ (2)
公開討議 (19)
開発者 (24)
Neuigkeiten
Foren:
開発者
(Thread #22263)
Zurück zur Thread-Liste
RSS
uri::encode 関連の問題 (2009-04-06 18:31 by
cielquis
#43009)
Ticket erstellen
uri::encode に残っている問題.
uri::encode ではワード単位 (char, or wchar_t) で処理を行っているが,wchar_t を用いたときに問題が発生する.uri::encode は,予約文字(英数字および一部の記号)以外は % に続いて 2 文字の 16 進文字列で表現する事となっているが,現在の処理では wchar_t を用いた場合,2 文字以上(0xFF 以上の場合だと 4 文字)の 16 進文字列で表現されてしまう.
wchar_t の uri::encode では,ワード (wchar_t) 単位の処理ではなくバイト単位の処理にしなければならない.また,これに伴って uri::decode も適切に複数の 16 進文字列を繋げる必要がある.
RE: uri::encode 関連の問題 (2009-04-07 12:23 by
cielquis
#43032)
Ticket erstellen
uri::encode の方は修正できるが,uri::decode の修正が難しい(文字コードを判別する必要がある,など)ので,当面は wchar_t 対応は行わない事とする.これに伴って,uri::encode/uri::decode の定義を以下にしておく.
変更前:
template <class Ch, class Tr>
inline std::basic_string<Ch, Tr> encode(
const std::basic_string<Ch, Tr>& src);
template <class Ch, class Tr>
inline std::basic_string<Ch, Tr> decode(
const std::basic_string<Ch, Tr>& src);
変更後:
inline std::basic_string<char> encode(
const std::basic_string<char>& src);
inline std::basic_string<char> decode(
const std::basic_string<char>& src);
Reply to
#43009