如何取得中文字符长度(vb)

liubr 2003-07-25 11:17:37
用Len("中文")得到的结果是2,怎么转换才能得到正确结果4呢?
...全文
154 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
liubr 2003-07-25
  • 打赏
  • 举报
回复
试过了都可以,第2种方法是客户端脚本,第3个是我最想要的答案,够简单。
cyp503 2003-07-25
  • 打赏
  • 举报
回复
int len=System.Text.Encoding.Default.GetByteCount(YourString);
panyee 2003-07-25
  • 打赏
  • 举报
回复
//计算字符串实际字节长度
function GetByteLength(str)
{
var iLen = 0;
for(i = 0; i < str.length; i ++)
{
if(str.charCodeAt(i) >= 8481 && str.charCodeAt(i) <= 63486)
iLen += 2;
else
iLen += 1;
}
return iLen;
}
batisituta 2003-07-25
  • 打赏
  • 举报
回复
For i = 1 To Len(aString)
intScode = Asc(Mid(aString, i, 1))
If intScode >= 0 And intScode < &H100 Then
intByteNum = intByteNum + 1
Else
intByteNum = intByteNum + 2
End If
Next i
Return intByteNum

1.把所有的字符变成ASC码,然后分成英文字母和非英文字母进行比较。
2.如果是英文字母就是1个字节,是中文,一个字符是占两个字节.
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2003-07-25 11:17
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。