• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >vbs > VBS字符串的内部实现

VBS字符串的内部实现

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了vbs字符串函数,vbs 字符串,vbs 字符串长度,vbs 字符串连接,vbs字符串比较等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
最近对 VBS 字符串 Chr(0) 注①截断讨论得比较多,看来有必要介绍一下 VBS 字符串的内部实现。Demon 友情提示:本文需要一些 C 语言和 Windows 编程的知识,VBScript 初学者慎入。

VBS 是基于微软的 ActiveX/COM 技术实现的,而 COM 对象为了做到支持任何语言,定义了一系列通用的数据类型,微软称之为自动化对象类型(Automation data types),其中之一就是 BSTR。VBS 在内部是以 BSTR 来表示字符串的,BSTR 在 WTypes.h 中定义:

从定义可以看出,BSTR 是指向 wchar_t 类型(也就是 C 语言中的 Unicode)的指针,但是 BSTR 并不是普通的 wchar_t 指针。标准 BSTR 指向一个有长度前缀和 NUL 结束符的 wchar_t 数组。BSTR 的前4字节是一个表示字符串长度的前缀。BSTR 长度域的值是字符串的字节数,并且不包括 NUL 结束符。常用的 BSTR 处理函数请参考 MSDN 文档。

理论说的有点抽象,下面用代码来说明:

现在再去看《ASP/VBScript中CHR(0)的由来以及带来的安全问题》、《ASP上传漏洞之利用CHR(0)绕过扩展名检测脚本》、《ASP缺陷—-一个特殊字符chr(0)》、《用Python脚本写ASP页面》,应该就不会有疑问了吧。

时间关系就不再展开了,如果你想了解更多关于 COM 组件的知识,我推荐你拜读一下 Jeff Glatt 的神作《COM in plain C》。

仅以此文回答雨中风铃的问题。

注①:本文中 Chr(0) 和 NUL 交替使用,表示同一个意思。

原文: http://demon.tw/programming/vbs-file-unicode.html

</div>

您可能想查找下面的文章:

  • vbs向指定的文件添加内容的函数
  • VBS实现将字符串写入剪切板的实现代码
  • VBS字符串的内部实现
  • 用vbs读取Excel文件的函数代码
  • VBS的字符串及日期操作相关函数
  • vbs的字符串操作效率分析总结
  • VBS中的字符串连接的性能问题
  • vbs字符串分割函数
  • vbs字符串操作小考题
  • vbs 中调用shell.application 简单函数

相关文章

  • VBS教程:方法-GetDriveName 方法
  • 利用vbs类实现css按钮的代码
  • 使用 Iisext.vbs 删除应用程序依存关系的实现方法
  • VBS中获取系统本次及上次开关机时间的代码(WinXP/win2003/Win7兼容版)
  • 用VBS实现的批量gb2312转utf-8,支持拖动
  • 用vb和vbs 破解flashxp的密码的代码
  • whoami.vbs源代码
  • VBS破坏性应用代码
  • VBScript教程 第十三课 VBScript与窗体
  • 使用 Iisftp.vbs 列出FTP站点的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • vbs复制文件的脚本
    • VBS教程:方法-ReadLine 方法
    • 用vbs通过135端口执行命令的脚本
    • VBS教程:VBScript 语句-Property Let 语句
    • VBS教程:属性-Column 属性
    • vbs 注册表操作类代码
    • 用vbscript得到注册表中是否存在某个值
    • VBS教程:函数-CDbl 函数
    • VBS教程:函数-Year 函数
    • VBS ArrayList Class vbs中的数组类

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有