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
Magazine
Develop
Account
Download
Magazine
Develop
Login
Forgot Account/Password
Create Account
Language
Help
Language
Help
×
Login
Login Name
Password
×
Forgot Account/Password
Category:
Software
People
PersonalForge
Magazine
Wiki
Search
OSDN
>
Find Software
>
System
>
Networking
>
CLX C++ Libraries
>
Forums
>
開発者
>
uri::encode 関連の問題
CLX C++ Libraries
Description
Project Summary
Developer Dashboard
Web Page
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
Downloads
List of Releases
Stats
Source Code
Code Repository list
Subversion
View Repository
Ticket
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Communication
List of Forums
ヘルプ (2)
公開討議 (19)
開発者 (24)
News
Forums:
開発者
(Thread #22263)
Return to Thread list
RSS
uri::encode 関連の問題 (2009-04-06 18:31 by
cielquis
#43009)
Create ticket
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)
Create ticket
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