将base64格式的字体信息解码成可用的字体文件


爬取文字显示乱码,查询之后发现没有这个字体文字,属于自定义字体
解决方法:

<script>!function(w,d){if(!w.ActiveXObject||d.documentMode>8){d.write("<style>@font-face{font-family:'fangchan-secret';src:url('data:application/font-ttf;charset=utf-8;base64,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') format('truetype')}.strongbox{font-family:'fangchan-secret','Hiragino Sans GB','Microsoft yahei',Arial,sans-serif,'宋体'!important}</style>")}else{d.write("<style>@font-face{font-family:'fangchan-secret';src:url('//fangfe.58.com/sfont/ba8402912a332a924abf6b2441cc9b2b.eot')}.strongbox{font-family:'fangchan-secret','Hiragino Sans GB','Microsoft yahei',Arial,sans-serif,'宋体'!important}.strongbox{visibility:hidden}</style>");var i=d.createElement('img');i.onerror=function(){setTimeout(function(){var s=document.createElement('style'),n=document.getElementsByTagName('script')[0];s.type='text/css';s.styleSheet.cssText='.strongbox{visibility:visible!important}';n.parentNode.insertBefore(s,n);},1300)};i.src='//fangfe.58.com/sfont/ba8402912a332a924abf6b2441cc9b2b.eot';}}(window,document);</script>

获取字体信息:

import re
re.findall(r"base64,(.*)\).format")[0]

把获取到的字体信息 如:

AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzL4XQjtAAABjAAAAFZjbWFwq7x/awAAAhAAAAIuZ2x5ZuWIN0cAAARYAAADdGhlYWQTek4fAAAA4AAAADZoaGVhCtADIwAAALwAAAAkaG10eC7qAAAAAAHkAA........... 过长省略AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwECAQMBBAEFAQYBBwEIAQkBCgELAQwAAAAAAAAAAAAAAAAAAAAA

粘贴在 网址:https://www.motobit.com/util/base64-decoder-encoder.asp

将纯字体信息字符串粘贴进编辑区域,然后下方解码选项选择解码base64字符串 和导出为二进制文件

如下图:

然后将base64.bin 问价改名为 pixelEn.woff, 文件名随意。

测试:写一个html文件,把pixelEn.woff文件和html文件放在同一目录

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title></title><style type="text/css">@font-face {font-family: "pixelEn";src: url("pixelEn.otf");}p {font-family: "pixelEn";font-size: 24px;}</style>
</head><body><p>鸺餼餼</p>
</body>
</html>
结果:700

将base64格式的字体信息解码成可用的字体文件相关推荐

  1. uniapp小程序中使用base64格式的字体图标iconfont的详细步骤

    下图是uniapp官网中对uniapp中字体图标使用规范的描述 这是官网地址中的原文链接 uniapp官网原文 从官网中对uniapp中字体图标使用规范的描述里可以看出,uniapp中使用字体图标的方 ...

  2. 【Python-利用动态二维码传输文件(四)】使用pyautogui库录屏(连续截图),然后利用OpenCV逐张读取截图,识别当中的二维码信息,并把信息重组成原文件

    程序示意图 目录 一.使用pyautogui库,对电脑屏幕进行录屏 二.使用OpenCV库对100帧截图进行识别,并与原29帧二维码图片内含信息进行比对 三.把获取的100帧二维码信息去重,并保持原来 ...

  3. tensorflow tf.encode_base64()(将字符串编码为网络安全的base64格式)

    @tf_export('io.encode_base64', 'encode_base64') @deprecated_endpoints('encode_base64') def encode_ba ...

  4. 文件与base64格式转换

    前提引入 nodejs 的 fs 模块: const fs = require("fs"); 读取png图片转换成 base64 格式: function readFile(fil ...

  5. base64格式的图片数据如何转成图片

    base64格式的图片数据如何转成图片 一.总结 一句话总结:不仅要去掉前面的格式串,还需要base64_decode()解码才行. 1 // $base_img是获取到前端传递的值 2 $base_ ...

  6. elementUI压缩图片和将图片转成base64格式

    为了降低资源服务器的消耗.有些时候需要前端压缩图片,转码等一些处理. 一.Base64的优点和缺点 图片转换成base64格式的优缺点 1. 优点 (1)base64格式的图片是文本格式,占用内存小, ...

  7. truetype字体怎么转换成普通字体_【转】TrueType(二)字体格式解析

    1. 概述 TrueType字体使用Mac轮廓字体资源的格式编码,标记名为"sfnt". 字体目录TableDirectory包含了字体格式的版本号和几个表. typedef st ...

  8. AAC文件解码成PCM格式文件

    上一篇写到PCM格式文件编码成AAC格式文件,这一步的原因是有利于传输.可以将PCM文件做了很大的压缩力度,使得包变得更小,便于传输.我使用播放器播放了AAC文件听到的是音速明显变快了,声音也变得尖锐 ...

  9. ffmpeg4.2.2 实现封装格式文件(如flv)解码成yuv420p和pcm

    解码成的yuv文件用ffply测试是可以播放的,但是pcm文件播放时全是杂音,不知道是哪一步错误了,但是看ffmpeg官方demo,找不出具体问题,知道的麻烦评论区留言指点下,谢谢!! #includ ...

最新文章

  1. html中section与div,如何在html中的section标签内包含div标签
  2. 公共基础选择题前10t
  3. validator API文档
  4. TensorFlow学习笔记(二十八)CNN的9大模型之AlexNet
  5. 学习笔记(18):Python网络编程并发编程-守护进程
  6. float32精度_PyTorch 1.6来了:新增自动混合精度训练、Windows版开发维护权移交微软...
  7. java选择题多选题系统小程序_单选题与多选题判断得分(自动考试小程序,入门级)...
  8. 华为机试——数字颠倒
  9. 程序员们之间的“鄙视链”,程序员底之间无声的战争
  10. vc访问远程mysql_利用vc远程连接mysql一例
  11. java maven strom 启动异常
  12. Python学习:图形界面设计01
  13. 中华石杉Java面试突击第一季笔记二(分布式搜索引擎)
  14. Win7/10/11:去除、恢复软件图标小箭头
  15. 黑客帝国中英文对照经典对白
  16. 企业微信群发消息提醒
  17. 2021年最新友价商城源码 优化实名认证模块 19套PC模板2套手机模板 服务市场 任务大厅
  18. VC - vs2017里poco的websocket使用netssl
  19. XML,HTTP协议
  20. 同济大学mba提前面试-同济大学MBA提前面试需要准备哪些材料?

热门文章

  1. 【财经期刊FM-Radio|2021年01月19日】
  2. ClickHouse and K8s
  3. ERP管理系统有哪些功能?能否支持跨区域使用?
  4. Linux下图像处理软件汇总
  5. 华为OD机试 - 相对开音节 | 备考思路,刷题要点,答疑 【新解法】
  6. 投中5G+IoT时代的操作系统,TCL凭什么?
  7. 手机发不出短信 htc hero g3
  8. 操作系统——显示器的驱动
  9. 追觅、小狗、戴森吸尘器对比测评,让你了解哪款最好用
  10. python语言公开发行版本诞生于哪年-python于哪一年正式发布