找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17161|回复: 7

【完结】20币求空白还原文字

  [复制链接]
发表于 2019-3-24 22:07:21 | 显示全部楼层 |阅读模式
本帖最后由 lxh623 于 2019-4-8 10:38 编辑

这里有个文档,下载打开,是txt。有些汉字不显示,只是空白。
请问,有没有办法还原文字?显像出来。保存为UTF8。
http://bcc.blcu.edu.cn/
BCC汉语词频表   
谢谢!
 楼主| 发表于 2019-3-25 08:44:22 | 显示全部楼层
本帖最后由 lxh623 于 2019-3-25 08:52 编辑

第一、是还原,至少提取含有类似字符的行。
第二、(另外计费)想批量搜索网站,得到那个数字(不下载网页)。比如,我准备文本,汉字2万,或者词语10到20万。不知道会不会被封,速度又怎么样?汉字选择多领域,或者古汉语。词汇只用选择多领域。
发表于 2019-3-25 20:51:17 | 显示全部楼层
本帖最后由 flashercs 于 2019-3-26 15:13 编辑

空白字符是Unicode的private use,是自定义字体库,字体中没有该字符就显示为空白或方框,只能提取出来.要想显示字体,用eudcedit.exe自己编辑字体库.
请将以下代码保存为 "提取.bat"
  1. @echo off
  2. for /f "tokens=1 delims=:" %%A in ('findstr /n "#######*" %0') do more +%%A %0 >"%~dpn0.ps1"
  3. powershell.exe -ExecutionPolicy Bypass -File "%~dpn0.ps1"
  4. pause
  5. exit /b
  6. ################################################################
  7. # 要处理的txt文件路径或所在目录路径
  8. $filesystemobjectpath = 'E:\unzip\weibo_wordfreq.release.txt'
  9. # 是否处理子目录
  10. $isRecursive = $false
  11. function genFile {
  12.   param (
  13.     [string]$filepath
  14.   )
  15.   Write-Host $filepath -ForegroundColor Green
  16.   $sr = [System.IO.StreamReader]::new($filepath, [System.Text.Encoding]::Default, $false)
  17.   $sw = [System.IO.StreamWriter]::new($filepath + '_private.log', $false, [System.Text.Encoding]::Default)
  18.   while (!$sr.EndOfStream) {
  19.     $str = $sr.ReadLine()
  20.     if ($str -match '[\uE000-\uF8FF]') {
  21.       $sw.WriteLine($str)
  22.     }
  23.   }
  24.   $sr.Close()
  25.   $sw.Close()
  26. }
  27. function genFolder {
  28.   param (
  29.     [string]$folderPath,
  30.     [switch]$recurse
  31.   )
  32.   if ($recurse) {
  33.     Get-ChildItem -LiteralPath $folderPath -Filter '*.txt' -File -Include '*.txt' -Recurse|ForEach-Object {genFile $_.FullName}
  34.   }
  35.   else {
  36.     Get-ChildItem -LiteralPath $folderPath -Filter '*.txt' -File -Include '*.txt'|ForEach-Object {genFile $_.FullName}
  37.   }
  38. }
  39. if ((Get-Item -LiteralPath $filesystemobjectpath).Attributes -band [System.IO.FileAttributes]::Directory) {
  40.   genFolder $filesystemobjectpath $isRecursive
  41. }
  42. else {
  43.   genFile $filesystemobjectpath
  44. }
复制代码

评分

参与人数 2PB +20 技术 +1 收起 理由
lxh623 + 1 谢谢!请查收!希望我没有记错。
523066680 + 20 20枚 bathome 币

查看全部评分

发表于 2019-3-25 21:10:39 | 显示全部楼层
20B到手了
到现在都不知这PB有啥用

评分

参与人数 1PB +20 技术 +1 收起 理由
CrLf + 20 + 1 20PB走一波

查看全部评分

 楼主| 发表于 2019-3-26 14:33:15 | 显示全部楼层
回复 4# flashercs
是不是一个批处理,一个脚本。我不知道怎样修改。谢谢!
发表于 2019-3-26 14:47:06 | 显示全部楼层
回复 5# lxh623


    第8行:修改为需要处理的txt文件路径,能明白吗?
发表于 2019-3-26 15:00:55 | 显示全部楼层
提取后的字符以记事本打开如图所示:

之所以有些字符可见,是因为 微软的字体渲染的fontlink功能的结果; fontlink到的字体 Segoe UI Symbol 定义了部分Unicode private-use字符,所以显示出来了,若要查看有哪些被Segoe UI Symbol定义了的字体,你可以打开charmap.exe;然后字体选择 Segoe UI Symbol, unicode字符选E000,你就会看到 Segoe UI Symbol已经定义的private-use字符;当然它仅定义了一部分,还有大部分空白字符是需要我们自己定义的,也就是自造字体,可以用eudcedit.exe来造字.
 楼主| 发表于 2019-3-26 18:55:02 | 显示全部楼层
回复 7# flashercs
谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 05:28 , Processed in 0.019875 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表