我们一直在努力计算包含Unicode字符的字符串的长度,例如(Word字符,如’),这些字符被粘贴到我们系统的文本区域中,然后保存。当我们需要返回相同的保存字符串并且需要计算我们的响应内容长度时,正常的C#字符串长度不会正确计算,因为Unicode具有多个字符。
我们尝试使用System.Globalization.StringInfo类读取字符数,但仍无法正确计算请求的长度。例如,如果Json响应对象的最后一个闭合大括号由于长度太短而被浏览器截断。
如果有人能够分享任何有效的解决方法,我们将不胜感激。迄今为止,我们尝试过以下方法:
我们尝试使用System.Globalization.StringInfo类读取字符数,但仍无法正确计算请求的长度。例如,如果Json响应对象的最后一个闭合大括号由于长度太短而被浏览器截断。
如果有人能够分享任何有效的解决方法,我们将不胜感激。迄今为止,我们尝试过以下方法:
Response.AddHeader("content-length", content.GetType() == typeof(string) ?
new System.Globalization.StringInfo(content.ToString()).LengthInTextElements.
ToString() : ((byte[])content).Length.ToString());