.doc是文本文件还是二进制文件
展开全部 操作方法: 1、插入表格,对表格进行相应的编辑; 2、将鼠标指针放在表格的左上角,当指针变为带箭头的十字形状进按住Ctrl键,拖动鼠标; 3、在目标位置,释放鼠标,即可复制一个表格; 4、重复上面的操作,即可在word里一张纸上添加多个一样的表格。
...
Microsoft Office Word 97
word锁定:解决Word文档由于文档保护而无法修改、查找、编辑的方法 方法一:今天有一朋友从网上下载了一个Word文档,可是打开该Word文档发现无法修改、查找、编辑,更可恶的是都不能选中Word文档中的内容。
其实这是由于该Word文档被文档保护了的原因,解决方法请接着往下看。
1、右击该Word文档→打开方式→写字板;2、点击写字板中的文件菜单→另存为→文件类型选择为RTF文档,然后取个文件名,保存即可(注意:保存的时候不要忘记把文件名名后面的.doc去掉;3、然后再用Word软件打开该文件就可以进行正常的编辑操作了4、最后再将你编辑好的文档再另存为Word文档即可说明:其实在上面第一步中,如果文档用写字板打开后能够进行编辑的话,可以直接将里面的内容复制出来就可以了。
方法二:(简单有效)启动word文档,新建一个空白文档,执行“插入文件”命令,打开“插入文件”对话框,定位到需要解除保护的文档所在的文件夹,选中该文档,单击“插入”按钮,将加密保护的文档插入到新文档中,文档保护会被自动撤销。
方法三:打开文档后,将其另存为XML文件,然后用UltraEdit(或者EditPlus,下载华军里搜索一下就行了)这个编辑软件打开刚刚存储的 XLM文件,查找,这个 “******"是可变的。
只需要找到这段文字,然后删掉这一段,保存退出,即可解除文档的密码保护。
:)方法四:将受保护能查看不能修改的文档,另存为,再弹出的保存窗口中选择“保存类型”为“word97-2002"格式,保存后。
再关掉word,重新打 开,刚刚保存的文件,选择“工具”中“解除文档保护”即可编辑、修改这个文件了。
以上的三种方法都能够实现我们能看不能编辑的文档的保护密码的解除,大家 可以用自己最为方便和习惯的使用方法。
在使用Word进行文档保护时,我们经常会使用到窗体保护(工具->;保护文档(P)...),用窗体保护最为彻底,用户无法编辑,也无法进行Copy&Paste操作。
但是,Word文档的漏洞可以让你用很简单的方法去掉这个密码,我们自己来测试一下:首先创建一个Word文档,使用窗体保护的方式保护文档,工具->;保护文档(P)...->;核对“仅允许在文档中进行此类编辑”- >;选择“填写窗体”,此时会弹出一个密码框,输入两次密码(我这里选择123作为Word文件密码),这样,该文档就已经被保护起来了。
然后我们来破解它,打开刚才创建的Word文档,文件->;另存为->;选择XML格式,存为一个XML文档,用记事本打开该XML文件,搜 索“w:UnprotectPassword“(引号内的内容,或直接搜索Password),你会看到5BCECF7A的字样(如果你的密码用的是 123的话)。
接着我们用UltraEdit32或其他类似的工具打开最初受保护的Word文档,查找7ACFCE5B(注意是倒序,搜索时可能需选择“正则表达 式”选项),查找到后,都用8个0来代替,存盘。
此时,Word文档的密码就被清空了,你就可以自己取消文档保护了,密码就不用输入了,按个回车即可。
MS 还没有对这个漏洞提供补丁,我觉得短期可能还无法解决这个问题,建议以后的文档不要用这个东西进行保护了。
如何取消Word文档保护密码总结如下:打开加密文档,另存为网页或XML格式文件,用记事本打开,查找“w: UnprotectPassword”,记下离散后的密码,如A1B2C3D4 用UltraEdit32等二进制编辑器打开Word文档,查找D4C3B2A1(倒序,可能需选择“正则表达式”选项),替换为00 00 00 00此时已经取消密码了,打开文档,直接取消文档保护即可。
为什么xls文件下载了总要另存为xlsm我电脑是03的office,已下载兼...
xlsm带宏的文件.*.xlsx:基于XML文件格式的Excel 2007工作簿缺省格式*.xlsm:基于XML且启用宏的Excel 2007工作簿*.xltx:Excel2007模板格式*.xltm:Excel 2007宏模板*.xlam:Excel 2007宏加载项*.xlsb:Excel2007为大的或复杂的工作簿新引入的非XML二进制文件格,允许优化执行和向后兼容。
应该理解为2007的功能,你不能完全兼容.直接升级2007吧.一了百了.
汇编十进制数制转换二进制和十六进制
; 本程序通过编译,运行正确 Code Segment Assume CS:Code,DS:Code CR equ 000DH LF equ 000AH KBBack equ 0008H; -----------------------------------------; 功能:显示指定地址(Str_Addr)的字符串; 入口:; Str_Addr=字符串地址(要求在数据段); 用法: Output Str_Addr; 用法举例:Output PromptStr Output MACRO Str_Addr lea dx,Str_Addr mov ah,9 int 21h EndM; -----------------------------------------; 功能:输出回车换行 Output_CTLF proc Near push ax push dx mov ah,02h mov dl,0dh int 21h mov dl,0ah int 21h pop dx pop ax ret Output_CTLF endp ; -----------------------------------------; 功能:取光标位置; 入口:无; 出口:DH=行号,DL=列号 GetCursor Proc Near PUSH AX PUSH BX PUSH CX XOR BX,BX MOV AH,3 INT 10H MOV Cursor_Row,DH MOV Cursor_Col,DL POP CX POP BX POP AX RET Cursor_Row DB ?Cursor_Col DB ?GetCursor EndP; -----------------------------------------; 功能:置光标位置; 入口:Cursor_Row=行坐标; Cursor_Col: 列坐标) SetCursor Proc Near PUSH CX PUSH BX PUSH AX MOV DH,Cursor_Row MOV DL,Cursor_Col XOR BX,BX MOV AH,2 INT 10H POP AX POP BX POP CX RET SetCursor EndP; -----------------------------------------; 功能:键盘输入一个指定位数的十进制数字,将其转换成二进制数并保存在指定的内存单元。
; 入口:@@Digits=数字位数;di=保存输入的数字首地址; @@Type_Data=保存的数据类型,B=字节类型,W=字类型。
; 出口:转换后的二进制数保存在di所指的单元 Input_Digit Proc Near push dx push cx push bx push di lea di,@@Save_Tmp push di cld mov cl,@@Digits xor ch,ch push cx @@Input: call GetCursor ;取光标位置 mov ah,1 ;从键盘接受一个字符 int 21h cmp al,CR ;若键入的是回车,已经键入的数字不足N位 jz @@ASC_Dec ;转去处理已经键入的数字 cmp al,KBBack jz @@KB_Back ;若是回空键,重新输入 cmp al,'0' jb @@KBBack ;若低于数字'0',重新输入 cmp al,'9' ja @@KBBack ;若低于数字'9',重新输入 jmp @@Save_Dig @@KB_Back: dec Cursor_Col inc cx dec di @@KBBack: call SetCursor ;置光标位置 jmp @@Input @@Save_Dig: and al,0fh ;转换成二进制数 stosb ;保存 loop @@Input ;接受下一个数字 @@ASC_Dec: mov ax,cx pop cx pop si sub cx,ax ;实际输入的数字位数 xor bp,bp xor dx,dx xor ax,ax jcxz @@Save_Ret ;若直接回车,没有输入任何数字,按输入'0'处理 dec cx ;实际输入的数字位数减1,准备把输入的这一串数字转换成二进制数 jcxz @@One_Digit ;若输入的数字只有一位,转去直接保存这个二进制数 mov bx,10 @@Mul_Ten: lodsb cbw add ax,bp mul bx mov bp,ax loop @@Mul_Ten @@One_Digit:lodsb cbw add ax,bp @@Save_Ret: pop di cmp @@Type_Data,'B' ;字节类型? jz $+5 stosw jmp $+3 stosb pop bx pop cx pop dx ret @@Digits db ? ;十进制数字位数 @@Type_Data db 'B' ;保存的数据类型。
B=字节类型,W=字类型 @@Save_Tmp db 16 dup(?) Input_Digit EndP; -----------------------------------------; 功能:将AL中的低4位二进制数转换成十六进制显示的ASCII码; 入口:AL; 出口:AL=转换后的ASCII码 AL_ASCII Proc Near cmp al,10 ;AL jb @@To_ASCII ;AL add al,7 ;AL>=10,按大写字母处理 @@To_ASCII: add al,'0' ;转换成相应的数字或大写字母 ret AL_ASCII EndP ; ----------------------------------------- Number dw ?prompt_One db 'Please input a decimal number(2-4bits): $' prompt_Two db 'The binary: $' prompt_Thr db 'The heximal: $' Start: push cs pop ds push cs pop es ;使数据段、附加段与代码段同段 mov @@Digits,4 ;十进制数字位数 mov @@Type_Data,'W' ;保存的数据类型。
B=字节类型,W=字类型 Input_Deci: Output prompt_One ;提示输入一个十进制数 lea di,Number ;变量Number的地址 call Input_Digit ;键盘输入一个指定位数的十进制数字,将其转换成二进制数并保存在指定的内存单元 cmp Number,10 jb Input_Deci ;少于2位十进制数,重新输入 call Output_CTLF ;输出一个回车、换行 call Output_CTLF ;输出一个回车、换行; -----------------------------------------; 转换为对应的二进制数 Output prompt_Two lea di,@@Save_Tmp[14] mov word ptr [di],'$B' mov ax,Number @@L0: dec di test ax,0ffffh jz @@L1 shr ax,1 jc $+7 mov byte ptr [di],'0' jmp @@L0 mov byte ptr [di],'1' jmp @@L0 @@L1: inc di mov dx,di mov ah,9 int 21h; -----------------------------------------; 转换为对应的十六进制数 call Output_CTLF ;输出一个回车、换行 Output prompt_Thr mov ax,Number lea di,@@Save_Tmp[14] mov word ptr [di],'$H' mov cl,4 mov ax,Number @@L2: dec di test ax,0ffffh jz @@L3 mov bx,ax shr bx,cl and ax,0fh call AL_ASCII ;将AL中的低4位二进制数转换成十六进制显示的ASCII码 mov [di],al mov ax,bx jmp @@L2 @@L3: inc di mov dx,di mov ah,9 int 21h ...
文字怎么转换成二进制数
展开全部 代码 /// ///二进制数据转换为word文件 /// /// 二进制数据 /// word文件名 /// word保存的相对路径 public string ByteConvertWord(byte[] data, string fileName) { string savePath =@"\SystemWord\"+FormatNowTime(2)+@"\"; if (!System.IO.Directory.Exists(GetPath() + savePath)) { Directory.CreateDirectory(GetPath() + savePath); } savePath += fileName + ".doc"; string filePath = GetPath() + savePath; FileStream fs; if (System.IO.File.Exists(filePath)) { fs = new FileStream(filePath,FileMode.Truncate); } else { fs = new FileStream(filePath,FileMode.CreateNew); } BinaryWriter br = new BinaryWriter(fs); br.Write(data, 0, data.Length); br.Close(); fs.Close(); return savePath; } /// /// word文件转换二进制数据(用于保存数据库) /// /// word文件路径 /// 二进制 private byte[] wordConvertByte(string wordPath) { byte[] bytContent = null; System.IO.FileStream fs = null; System.IO.BinaryReader br = null; try { fs = new FileStream(wordPath,System.IO.FileMode.Open); } catch { } br = new BinaryReader((Stream)fs); bytContent = br.ReadBytes((Int32)fs.Length); return bytContent; } /// ///项目所在目录 /// /// public string GetPath() { return Application.StartupPath; } /// ///格式化当前时间: /// 1:yyMMddHHmmss; 2:yyyy-MM\dd\ /// /// public string FormatNowTime(int num) { if (num == 1) { returnDateTime.Now.ToString("yyMMddHHmmss"); } else if (num == 2) { returnDateTime.Now.ToString("yyyy-MM") + @"\" + DateTime.Now.Day; } return ""; } //测试方法 private void button1_Click(object sender,EventArgs e) { string newWord = ByteConvertWord(wordConvertByte(@"D:\测试文件.doc"),"测试成功"); }
转载请注明出处51数据库 » word另存为二进制