Tôi đang sử dụng .NET và tôi cần cắt bớt chuỗi có thể chứa các ký tự nhiều byte để ký tự không quá một độ dài được đặt sau khi URL được mã hóa . Điều này có vẻ như một cái gì đó sẽ được xây dựng trong, nhưng tôi không thể tìm thấy nó.Giới hạn độ dài của chuỗi được mã hóa bằng URL với các ký tự nhiều byte trong .NET
Tôi chỉ thực hiện chuỗi con khi URL được mã hóa, nhưng có thể mất một phần của ký tự được mã hóa (khoảng trống trở thành% 20 và nếu nó ở cuối nó có thể bị cắt bớt thành% 2, không hợp lệ), hoặc một phần của ký tự nhiều byte sẽ bị cắt ngắn (π được mã hóa dưới dạng% CF% 80 và có thể bị cắt ngắn dưới dạng%,% CF,% CF% 8, tất cả đều sai).
Bạn có yêu cầu cách cắt ngắn chuỗi tại một độ dài nhất định hay bạn đang hỏi cách tự động thực hiện chuỗi đó? Câu trả lời cho câu hỏi đầu tiên là longString.Substring (0, maxLength). – Kendrick
@Kendrick: Tôi nghĩ rằng câu hỏi là bạn không thực sự biết chuỗi dài sẽ ở dạng urlencoded của nó, cho đến khi bạn thực sự urlencode nó, vì một số ký tự trong ký tự gốc (còn gọi là multibyte) sẽ đòi hỏi nhiều hơn một byte trong phiên bản được mã hóa url. – MusiGenesis
@MusiGenesis: Đúng vậy. Tôi đã cập nhật câu hỏi của mình để cụ thể hơn. – thefroatgt