私は.NETを使用していますが、URLをエンコードした後は設定された長さを超えないようにマルチバイト文字を含む文字列を切り捨てる必要があります。これは組み込むもののようですが、私はそれを見つけることができません。URLでエンコードされた文字列の長さを.NET内のマルチバイト文字で制限する
URLエンコードされた部分文字列を処理しますが、エンコードされた文字の一部を取り除く可能性があります(スペースは%20になり、最後にあった場合は%2に切り捨てられる可能性があります)、またはマルチバイト文字の一部が切り捨てられる(πは%CF%80としてエンコードされ、%、%CF、%CF%8として切り捨てられる可能性があります)。
指定した長さで文字列を切り捨てる方法を尋ねていますか、それとも自動的に行うかを尋ねていますか?答えは最初の質問はlongString.Substring(0、maxLength)です。 – Kendrick
@ケンドリック:元の文字(別名マルチバイト文字)の中には、それ以上の文字列を必要とするため、実際にあなたがそれをurlencodeするまで、文字列がurlencode形式でどれくらい長くなるかは、実際には分かりません。 urlencodeバージョンの1バイト。 – MusiGenesis
@MusiGenesis:それは正しいです。より具体的に質問を更新しました。 – thefroatgt