大师可在怎么判断二进制字符是中文还是英文

gaowenzhen 2011-06-15 08:39:38



Tocn("2D 4E FD 56 BA 4E 61 62 63")
Function Tocn(s)

Dim arr
Dim i
Dim txt
arr = Split(RTrim(s))
For i = 0 To UBound(arr) Step 2
Tocn=Tocn& ChrW(CInt("&H" & arr(i+1)) * 256 + CInt("&H" & arr(i)))
Next
End Function




2D 4E FD 56 BA 4E 61 62 63 这字符是:中国人abc

我想判断出这些(2D 4E FD 56 BA 4E 61 62 63 )字符是中文还是英文,上面程序只能理处中文,不能和英文一起理处,请大师帮助啊感谢
...全文
143 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaowenzhen 2011-07-18
  • 打赏
  • 举报
回复
别提了,1,存入时必需要求是10进制 可能是我中英文转成10进制时出问题

然后再从10进制还原出中英文.
  • 打赏
  • 举报
回复
一般可见的普通字符(如英文字符以及其它一些符号,空格等)的ASCII码区间是32到128.

双字节字符集解决象形文字符和ASCII的某种兼容性。最初的128个代码是ASCII。较高的128个代码中的某些总是跟随着第二个字节。这两个字节一起(称作首字节和跟随字节)定义一个字符,通常是一个复杂的象形文字。

即碰到的第一个高于128的ASCII值,就可以认作是一个汉字的第一个字节,然后可跳过其后面的一个字节看下一个字节的ASCII值。
Microogle 2011-06-17
  • 打赏
  • 举报
回复
为什么开始转换的时候不直接全部保存为双字节呢?
涉及到字符集编码识别了就是比较难过的事情。
如果不包含符号只包含英文和汉字的话,可以先判断是否为英文,然后再转换。
WScript.Echo Tocn("2D 4E FD 56 BA 4E 61 62 63")
Function Tocn(s)
On Error Resume Next
Dim arr
Dim i
Dim txt
arr = Split(RTrim(s))
For i = 0 To UBound(arr)
If CInt("&H" & arr(i)) > 65 And CInt("&H" & arr(i)) < 122 Then
Tocn = Tocn & Chr(CInt("&H" & arr(i)))
Else
Tocn=Tocn& ChrW(CInt("&H" & arr(i+1)) * 256 + CInt("&H" & arr(i)))
i = i + 1
End If
Next
End Function

不保证100%的正确性。
winxp系统结构5课(注册表)->1认识注册表
作者:netcicala 来源:www.netcicala.com 发布时间:2007-7-4 19:56:01
减小字体 增大字体

一.计算机原理2课(硬件)->
二.计算机脚本技术25课(DOS命令/批处理/VBS脚本)->
三.winxp系统结构5课(注册表)->
四.计算机病毒原理5课(VBS/VC语言实现)->
五.网络安全及其网络软件应用10课->
六.VB6.0程序设计入门10课->
七.C语言程序设计入门10课->
时间:每周一,二,四8:00~9:00。
UC房间:黑客家族网络安全
本人UC号:38378943 83034769


winxp系统结构5课(注册表)->1认识注册表
时间:6月28日晚20点30-22点
地点:UC聊天室-> 黑客家族网络安全
讲义地址:http://www.netcicala.com/article/sort015/info-251.html
大概内容:FSO 对象
主讲:网蝉。

WINXP的系统结构:
==============================================================
windows启动过程:
1,windows的启动过程:
一,winxp首先加载NTLDR文件。 此文件位于:C:根目录下。
二,初始化:NTLDR加载后会将处理器从实模式转化为32位保护模式。
三,读取boot.ini文件,c:\下的boot.ini和bootsect.dos配合来完成多操作系统的管理。
四,加载NtDetect.com文件:此文件的作用是检测计算机硬件,如并口,显示适配器等设备,
并将收集到的信息的硬件列表返回NTLDR用于以后的注册表中注册保存。
五,选择硬件配置文件,一般WINxp会按照默认形式加载,如要修改,可直接到设备管理器中进行修改。
六,装在内核:NtOsKrNl.exe 此文件位于windows\system32目录下。
七,HAL加载:HAL=硬件抽象层,系统会采用HAL来隐藏特定平台的硬件接口细节。
为操作系统提供虚拟硬件平台,使其具有硬件无关性。
八,内核初始化,NTLDR将控制权交给NtOsKrNl.exe,
九,开始装并初始化设备驱动程序,启动win32子系统和winxp的各项服务系统。
十,win32子系统启动winlogon.exe,并启动LSASS.EXE显示登陆对话框,同时windows也会配置网络设备/用户环境,
个性化设置等信息。

=====================================================
windows注册表
注册表的用途:
用来记录windows系统配置信息和软件配置情况的数据库。

什么是系统配置情况? 例如你把显示器分辨率变成800*600的了,下次启动的时候将会是800*600。
又如windows开机会自动运行哪些程序。
什么叫软件配置情况?例如我们设置uctools里面的自动留言功能,则在uctools.ini里面就有你设置自动回复的文字项在里面。
为什么很多安装软件都要去改写注册表?1,在系统中注册。2,在注册表中保存软件配置信息。
为什么某些软件你对他的使用情况配置了一下, 下次启动之后这个软件的配置就会保留?
1,注册表中做记录。
2,程序自身或程序的数据库文件内记录。
例子1:在数据文件中配置我们的软件。
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists("password.txt") Then
set objTextFile = fso.OpenTextFile("password.txt",1)
k= objTextFile.Readline
l= objTextFile.Readline
objTextFile.Close
End If
Set f = fso.CreateTextFile("password.txt", True)
i=InputBox("输入用户名","用户信息确认",k)
j=InputBox("输入密码","用户信息确认",l)
f.WriteLine(i)
f.WriteLine(j)
f.Close
Set fso=Nothing
上面脚本执行第一次的时候,我们输入一个信息到程序中。
当地二次运行后,你会发现他所显示的是我们上一次打开这个程序的时候输入的内容。
注册表是用来记录WINDOWS系统配置信息的。 道理同我们上例中的password.txt文件一样,是一个数据库文件。

例子2:在注册表中配置我们的软件。
on error resume next
Set WshShell = WScript.CreateObject("WScript.Shell")
readreg = WshShell.RegRead("HKCU\Software\aaa\")
If readreg="" Then
MsgBox("软件没有配置过")
Else
MsgBox("配置信息为:"&readreg)
End If
aa=InputBox("输入/更改我们的软件配置信息")
WshShell.RegWrite"HKCU\Software\aaa\",aa, "REG_SZ"
set WshShell=Nothing


为什么双击exe文件会直接运行,而双击txt文本打开的却是记事本?

=====================================================
名称---〉数据类型--〉描述
二进制
REG_BINARY
原始二进制数据。大多数硬件组件信息作为二进制数据存储,以十六进制的格式显示在注册表编辑器中。
=====================================================
DWORD 值
REG_DWORD
由 4 字节长(32 位整数)的数字表示的数据。设备驱动程序和服务的许多参数都是此类型,以二进制、十六进制或十进制格式显示在注册表编辑器中。与之有关的值是 DWORD_LITTLE_ENDIAN(最不重要的字节在最低位地址)和 REG_DWORD_BIG_ENDIAN(最不重要的字节在最高位地址)。
=====================================================
可扩展字符串值
REG_EXPAND_SZ
长度可变的数据字符串。这种数据类型包括程序或服务使用该数据时解析的变量。
=====================================================
字符串值
REG_MULTI_SZ
字符串。包含用户可以阅读的列表或多个值的值通常就是这种类型。各条目之间用空格、逗号或其他标记分隔。
=====================================================
字符串值
REG_SZ
长度固定的文本字符串。
=====================================================
二进制
REG_RESOURCE_LIST
一系列嵌套的数组,用于存储硬件设备驱动程序或它控制的某个物理设备所使用的资源列表。此数据由系统检测并写入 \ResourceMap 树,作为二进制值以十六进制的格式显示在注册表编辑器中。
=====================================================
二进制
REG_RESOURCE_REQUIREMENTS_LIST
一系列嵌套的数组,用于存储一个设备驱动程序(或其控制的某个物理设备)可以使用的硬件资源列表。系统将此列表的子集写入 \ResourceMap 树。此数据由系统检测,作为二进制值以十六进制的格式显示在注册表编辑器中。
=====================================================
二进制
REG_FULL_RESOURCE_DESCRIPTOR
一系列嵌套的数组,用于存储物理硬件设备使用的资源列表。此数据由系统检测并写入 \HardwareDescription 树,作为二进制值以十六进制的格式显示在注册表编辑器中。
=====================================================

REG_NONE
没有具体类型的数据。此数据由系统或应用程序写到注册表,作为二进制值以十六进制的格式显示在注册表编辑器中。
=====================================================
链接
REG_LINK
一个 Unicode 字符串,它命名一个符号链接。
=====================================================
QWORD 值
REG_QWORD
由 64 位整数数字表示的数据。此数据作为二进制值显示在注册表编辑器中,最初用在 Windows 2000 中。
=====================================================

注册表配置单元是注册表中的一组项、子项和值,它有一组支持文件,这些文件包含其数据的备份。
在 Windows NT 4.0、Windows 2000、Windows XP 和 Windows Server 2003 中,除 HKEY_CURRENT_USER 之外,所有其他配置单元的支持文件都位于 Systemroot\System32\Config 文件夹中;
HKEY_CURRENT_USER 的支持文件位于C:\Documents and Settings\用户名\NTUSER.DAT文件夹中。
注册表配置单元 支持文件
HKEY_LOCAL_MACHINE\SAM Sam、Sam.log、Sam.sav
HKEY_LOCAL_MACHINE\Security Security、Security.log、Security.sav
HKEY_LOCAL_MACHINE\Software Software、Software.log、Software.sav
HKEY_LOCAL_MACHINE\System System、System.alt、System.log、System.sav
HKEY_CURRENT_CONFIG System、System.alt、System.log、System.sav、Ntuser.dat、Ntuser.dat.log
HKEY_USERS\DEFAULT Default、Default.log、Default.sav

注册表的修改方法:
1,REGEDIT
2,INF文件
3,REG命令
4,VBS
5,编程改写(如VB/VC/DELPHI等)
6,程序改写,如WINDOWS优化大师等软件。

注册表修改快速入门   根据本人经验,修改注册表有三种方法,归纳如下:   在这里提醒大家一句,如果你没有把握,切记在修改之前,一定要备份注册表。 一.用windows的注册表修改器--regedit.exe 方法是在windows的左下角开始菜单里,点击运行,然后键入regedit,回车即可。你可以在打开的修改器里查找所需要修改的注册表修改项。比如要禁止“开始”菜单里的查找功能,我们知道修改的内容为:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer,在右边的窗口中新建一个DWORD值"NoFind",并设值为1.(查阅本手册即可找到)。那么我们打开注册表修改器,可以看到有HKEY_CURRENT_USER这个根键,左边还有一个"+"号,点击"+"号展开下面的目录树,找到Software,再展开找Microsoft,这样一层一层地展开,直到找到Explorer项,看右边的窗口,你会发现有不少的键值,恭喜你,你快成功了。然后在右边的窗口中单击鼠标右键,选择新建DWORD值,输入NoFind,注意大小写,你会发现右边窗口中多了一个名为NoFind的键名,OK,我们给它赋值,在NoFind上双击,然后在弹出的窗口中将原来默认的0改成1,最后,重新启动计算机后,你会发现开始菜单里的“查找”消失了,如果你想把它改回来,那么按上面的方法,把1改成0,然后重新启动就可以了。是不是很简单?其他的修改也差不多了,关键是要找到修改的内容,这就是本手册所提供的强大功能了。呵呵,相信能给你带来很大的帮助。   二.用专门的修改软件 如果你很懒,不想知道究竟要修改什么内容。那么就用专门的注册表修改软件了,比较有名气的是“超级兔子魔法”,还有“windows优化大师”,在这里评价一下,windows优化大师名字响,可是不好用。我本人比较喜欢的是另外一个叫“注册终结者”的修改器,主要是界面友好,功能多而不容易出错。现在随着winXP的推出,各种修改器也随之更新,可是功能还有待改进。现在新出的“神奇注册表”修改器,可以修改winXP等,大家可以试试看。这些修改器都很容易上手,修改起来很方便。不过你如果想深入学习注册表,最好还是手动修改了,不然你学不到多少东西的了。 三.手工写.reg注册表文件 这是修改注册表的高级技巧了.有没有试过自己写注册表文件?不用任何修改器?直接把写好的注册表文件??.reg倒入注册表?呵呵,这项技巧并不需要每个人都知道了,你只要知道上面的两个就可以了。当然,如果你是电脑迷,我们赞成深入学习。 现在我们来看看.reg文件的结构如何。 .reg文件的标准格式如下: REGEDIT4 [路径] (注意用大小写) "键名"="键值" (针对字符串型键值) "键名"=hex:键值 (针对二进制型键值) "键名"=dword:键值 (针对DWORD键值) 括号里面的内容为本人的注释,写文件的时候就不需要那些小括号了,其他上面所列的都必须包括。注意引号输入时不能用中文输入的引号,必须用英文的引号,否则会出错。 那么,怎么写.reg文件呢?我们需要一个文本编辑器,用windows的记事本就可以了。单击鼠标右键,选择新建文本文档,然后在生成的文本文件里输入上面规格的内容就可以了,最后,选择另存为,输入你想要的文件名+.reg保存即可。比如你要生成test.reg,输入test.reg保存即可,你可以看到生成了一个带图标的test.reg.双击运行这个test.reg文件就能相应的修改注册表了,系统会提示“是否导入注册表”之类的信息,确定就可以了。OK,我们可以手动写注册表了,是不是感觉很酷?  先别急,我们来看看一个标准范例,这是从注册表里面导出来的,大家慢慢学习,跟着模仿一下就能写出自己的.reg文件了。 REGEDIT4 [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer] "NoRun"=dword:00000000 "NoRecentDocsMenu"=hex:01,00,00,00 "NoFavoritesMenu"=dword:00000000 "user"="sundrink" 大家可以看到,dword是16进制,hex是二进制字符串则可以直接赋值。只要将上面的内容复制保存到文本文档里,然后另存为你想要的.reg文件运行就可以了。呵呵,原来也不是很难嘛,耐心一点就可以了。当然,你要模仿,要自己动手写.reg文件,用记事本就可以了。 说多两句,为什么要手写注册表?因为有时候我们会碰到一台锁定regedit的机子,有什么办法解开呢?呵呵,如果你会手写注册表文件的话,那很简单了......大家发挥想象吧!用不了很长时间的。 最后在文章结尾,提醒大家,注册表修改可不是闹着玩的,其中有些键值是不能随便改的,因为如果你没有备份,而又不知道怎么改回来的话,那就麻烦了,我也帮不了你。所以奉劝各位在修改注册表之前一定要记得备份,切记!
本书是国际算法大师乌迪·曼博(Udi Manber)博士撰写的一本享有盛誉的著作。全书共分12章:第1章到第4章为介绍性内容,涉及数学归纳法、算法分析、数据结构等内容;第5章提出了与归纳证明进行类比的算法设计思想;第6章到第9章分别给出了4个领域的算法,如序列和集合的算法、图算法、几何算法、代数和数值算法;第10章涉及归约,也是第11章的序幕,而后者涉及NP完全问题;第12章则介绍了并行算法;最后是部分习题的答案及参考文献。本书的特色有二,旨在提高读者的问题求解能力,使读者能够理解算法设计的过程和思想:一是强调算法设计的创造性过程,注重算法设计背后的创造性思想,而不拘泥于某个具体算法的详细讨论;二是将算法设计类比于定理归纳证明,揭示了算法设计的基本思想和本质。 本书的组织结构清晰且易于理解,强调了创造性,具有浓郁特色,时至今日仍有其巨大的价值,并且适合作为计算机及相关专业算法和高级算法课程的教材。 第1章 引论 第2章 数学归纳法 2.1 引言 2.2 三个简单的例子 2.3 平面内区域的计数 2.4 简单的着色问题 2.5 复杂一些的加法题 2.6 一个简单的不等式 2.7 欧拉公式 2.8 图论中的一个问题 2.9 格雷码 2.10 在图上寻找无重边的路 2.11 数学平均数和几何平均数定理 2.12 循环不变量:将十进制数转换为二进制数 2.13 常见的错误 2.14 小结 第3章 算法分析 3.1 引言 3.2 符号O 3.3 时间与空间复杂度 3.4 求和 3.5 递推关系 3.5.1 巧妙地猜测 3.5.2 分治关系 3.5.3 涉及全部历史的递推关系 3.6 一些有用的证明论据 3.7 小结 第4章 数据结构简介 4.1 引言 4.2 基本数据结构 4.2.1 元素 4.2.2 数组 4.2.3 记录 4.2.4 链表 4.3 树 4.3.1 树的表示 4.3.2 堆 4.3.3 二叉搜索树 4.3.4 AVL树 4.4 散列 4.5 合并?查找问题 4.6 图 4.7 小结 第5章 基于归纳的算法设计 5.1 引言 5.2 多项式求值 5.3 最大导出子图 5.4 寻找一对一映射 5.5 社会名流问题 5.6 分治算法:轮廓问题 5.7 在二叉树中计算平衡因子 5.8 寻找最大连续子序列 5.9 增强归纳假设 5.10 动态规划:背包问题 5.11 常见的错误 5.12 小结 第6章 序列和集合的算法 6.1 引言 6.2 二叉搜索的几种形式 6.2.1 纯二叉搜索 6.2.2 循环序列的二叉搜索 6.2.3 二叉搜索特殊下标 6.2.4 二叉搜索长度未知的序列 6.2.5 重叠子序列问题 6.2.6 解方程 6.3 内插搜索 6.4 排序 6.4.1 桶排序和基数排序 6.4.2 插入排序和选择排序 6.4.3 归并排序 6.4.4 快速排序 6.4.5 堆排序 6.4.6 排序问题的下界 6.5 顺序统计 6.5.1 最大数和最小数 6.5.2 查找第k小的数 6.6 数据压缩 6.7 串匹配 6.8 序列比较 6.9 概率算法 6.9.1 随机数 6.9.2 着色问题 6.9.3 将拉斯维加斯算法变换成确定性算法 6.10 查找众数 6.11 三个展现有趣证明方法的问题 6.11.1 最长递增序列 6.11.2 查找集合中两个最大的元素 6.11.3 计算多重集合的模 6.12 小结 第7章 图算法 7.1 引言 7.2 欧拉图 7.3 图的遍历 7.3.1 深度优先搜索 7.3.2 广度优先搜索 7.4 拓扑排序 7.5 单源最短路径 7.6 最小代价生成树 7.7 全部最短路径 7.8 传递闭包 7.9 图的分解 7.9.1 双连通分支 7.9.2 强连通分支 7.9.3 利用图分解的例子 7.10 匹配 7.10.1 非常稠密图中的完美匹配 7.10.2 偶图匹配 7.11 网络流量 7.12 哈密尔顿旅行 7.12.1 反向归纳 7.12.2 在非常稠密图中找哈密尔顿回路 7.13 小结 第8章 几何算法 8.1 引言 8.2 判定点是否在多边形内部 8.3 构造简单多边形 8.4 凸包 8.4.1 直接方法 8.4.2 礼品包裹算法 8.4.3 Graham扫描算法 8.5 最近点对 8.6 水平线段和竖直线段的交点 8.7 小结 第9章 代数和数值算法 9.1 引言 9.2 求幂运算 9.3 欧几里得算法 9.4 多项式乘法 9.5 矩阵乘法 9.5.1 Winograd算法 9.5.2 Strassen算法 9.5.3 布尔矩阵 9.6 快速傅里叶变换 9.7 小结 第10章 归约 10.1 引言 10.2 归约的例子 10.2.1 简单字符串匹配问题 10.2.2 特殊代表集 10.2.3 关于序列比较的归约 10.2.4 在无向图中寻找三角形 10.3 有关线性规划的归约 10.3.1 概述与定义 10.3.2 归约到线性规划的例子 10.4 下界的归约 10.4.1 寻找简单多边形算法复杂度的下界 10.4.2 关于矩阵的简单归约 10.5 常见的错误 10.6 小结 第11章 NP完全问题 11.1 引言 11.2 多项式时间归约 11.3 非确定性和Cook定理 11.4 NP完全性的证明例子 11.4.1 顶点覆盖问题 11.4.2 支配集问题 11.4.3 3SAT问题 11.4.4 团问题 11.4.5 3着色问题 11.4.6 一般经验 11.4.7 更多的NP完全问题 11.5 处理NP完全问题的技术 11.5.1 回溯法和分枝限界法 11.5.2 确保性能的近似算法 11.6 小结 第12章 并行算法 12.1 引言 12.2 并行计算模型 12.3 共享存储器算法 12.3.1 并行加 12.3.2 寻找最大数的算法 12.3.3 并行前缀问题 12.3.4 在链表中查寻秩 12.3.5 欧拉遍历技术 12.4 互连网络上的算法 12.4.1 阵列上的排序 12.4.2 排序网络 12.4.3 在树中查找第k个最小元素 12.4.4 网孔上的矩阵乘法 12.4.5 超立方体中的路由 12.5 脉动计算 12.5.1 矩阵与向量相乘 12.5.2 卷积问题 12.5.3 序列的比较 12.6 小结 部分习题答案 参考文献

4,008

社区成员

发帖
与我相关
我的任务
社区描述
它是一种微软环境下的轻量级的解释型语言,它使用COM组件、WMI、WSH、ADSI访问系统中的元素,对系统进行管理。
社区管理员
  • vbScript社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧