RTF文件格式解析(二)图像问题

news2024/9/9 4:31:48

图片

一个RTF文件可以包含由其他应用创建的图象。这些图象可以是16进制(默认的)或2进制格式。图象属于目标引用,由\pict 控制字开始。如后面的例子中将描述的,\pict关键字应在\*\shppict引用控制关键字之后。一个图象引用具有如下语法:

<pict>

'{' \pict (<brdr>? & <shading>? & <picttype> & <pictsize> & <metafileinfo>?) <data> '}'

<picttype>

| \emfblip | \pngblip | \jpegblip | \macpict | \pmmetafile | \wmetafile | \dibitmap <bitmapinfo> | \wbitmap <bitmapinfo>

<bitmapinfo>

\wbmbitspixel & \wbmplanes & \wbmwidthbytes

<pictsize>

(\picw & \pich) \picwgoal? & \pichgoal? \picscalex? & \picscaley? & \picscaled?

& \piccropt? & \piccropb? & \piccropr? & \piccropl?

<metafileinfo>

\picbmp & \picbpp

<data>

(\bin #BDATA) | #SDATA

这些控制字在下表中描述。这个表中一些度量单位是缇,一缇是二十分之一点。

控制字

涵义

\emfblip

图片源为一个EMF文件(增强图元文件)。

\pngblip

图片源为一个PNG文件。

\jpegblip

图片源为一个JPEG文件。

\shppict

指定一张Word 97到Word 2002的图片。这是一个引用控制字。

\nonshppict

指定Word 97到Word 2002已经写入了一个引用,该引用在读入时将不被读取。这个关键字用于与别的阅读器兼容。

\macpict

图片源为一个QuickDraw文件。

\pmmetafileN

图片源为一个OS/2图元文件。参数N表示图元文件类型。N的取值在这部分接下来的\pmmetafile 表中描述。

\wmetafileN

图片源为一个Windows图元文件。参数N表示图元文件类型(默认为1)。

\dibitmapN

图片源为一个Windows设备无关位图。参数N表示位图类型,必须等于0。

包含在RTF中的一个Windows设备无关位图信息,来源于实际象素数据前的

BITMAPINFO结构之中。

\wbitmapN

图片源为一个Windows设备相关位图。参数N表示位图类型(必须等于0)。

包含在RTF中的一个Windows设备相关位图信息,来源于GetBitmapBits函数的返回值。

下面是一个\shppict组的例子:

{\*\shppict {\pict \emfblip ….. }}{\nonshppict {\pict ….}}

为了得到最好的设备独立性和与微软产品的互用性,使用\wbitmap和\dibitmap控制字是不推荐的。更推荐的是,位图应该被内嵌到Windows元文件内,使用\wmetafile控制字。了解更多关于GetDIBitsGetBitmapBits函数、Windows设备独立或设备依赖位图的结构及在图元文件中嵌入位图的信息,请查阅Microsoft Windows3.1软件开发工具包的《程序员参考》第1卷和第2卷。下面列出图片控制关键字:

控制字

涵义

图片信息

\wbmbitspixelN

用于定义平面上一个点的颜色位数。可能的取值为1(单色),4(16色),8(256色)和24(RGB色)。默认为1。

\wbmplanesN

位图颜色平面的数量(必须为1)。

\wbmwidthbytesN

指定每个光栅栏的字节数。这个值必须为一个偶数值,因为Windows图形设备接口(GDI)总是假定一个位图的位的值构成一个整形(2字节)的数组值。换句话说,\wbmwidthbytes乘以8必须等于下一个大于等于\picw值(位图象素宽度)的16的倍数。

图片尺寸,缩放与剪裁

\picwN

如果图象是Windows图元文件,表示xExt(x轴扩展)域;如果是位图或QuickDraw图象,表示图片的像素宽度。参数N为长整型。

\pichN

如果图象是Windows图元文件,表示yExt (y轴扩展)域;如果是位图或QuickDraw图象,表示图片的像素高度。参数N为长整型。

\picwgoalN

按缇计算的图象期望宽度。参数N为长整型。

\pichgoalN

按缇计算的图象期望高度。参数N为长整型。

\picscalexN

水平缩放比例值。参数N为百分比数值(默认为100%)。

\picscaleyN

垂直缩放比例值。参数N为百分比数值(默认为100%)

\picscaled

图象比例适应指定的框架。仅在\macpict 图象中采用。

\picprop

表示这里是应用于一个内嵌图象的形状属性。这是引用控制字。

\defshp

表示该内嵌图片为一个Word艺术字形状。

\piccroptN

按缇计算的顶端剪切值。正数向图片中心剪切;负数则偏离图片中心剪切,在图片边沿增加一空白(默认为0)

\piccropbN

按缇计算的底端剪切值。正数向图片中心剪切;负数则偏离中心剪切,在图片边沿增加一空白(默认为0)

\piccroplN

按缇计算的左端剪切值。正数向图片中心剪切;负数则剪切偏离中心,在图片边沿增加一空白(默认为0)

\piccroprN

按缇计算的右端剪切值。正数向图片中心剪切;负数则剪切偏离中心,在图片边沿增加一空白(默认为0)

图元文件信息

\picbmp

指定一个元文件是否包含一位图。

\picbppN

指定一个元文件位图的像素位数。有效范围1~32,1、4、8、24是可识别的。

图片数据

\binN

图象为二进制格式。紧跟的数字参数N是字节数。和所有其他控制字不一样,该控制字带一个32位参数。

\blipupiN

N 表示图象的每英寸单位(只有某些图象类型需要或输出它)

\blipuid XXXXX

使用为:{\*\blipuid XXXXX},其中XXXX 是图象的16字节唯一号。

\bliptagN

图象主要的唯一标识符。N为长整型值。

\wbitmap 控制字是可选项。如没有指定其他图象类型,图象被认为是Windows位图。如果指定了\wmetafile,参数N 可能是如下类型之一。

类型

参数N

MM_TEXT

1

MM_LOMETRIC

2

MM_HIMETRIC

3

MM_LOENGLISH

4

MM_HIENGLISH

5

MM_TWIPS

6

MM_ISOTROPIC

7

MM_ANISOTROPIC

8

了解更多关于这些类型的信息,请查阅Microsoft Windows3.1软件开发工具包的《程序员参考》第1卷。

如指定\pmmetafile,参数N 可以是如下类型之一。

类型

参数N

PU_ARBITRARY

0x0004

PU_PELS

0x0008

PU_LOMETRIC

0x000C

PU_HIMETRIC

0x0010

PU_LOENGLISH

0x0014

PU_HIENGLISH

0x0018

PU_TWIPS

0x001C

了解更多关于这些类型的信息,查阅《OS/2程序员参考》第2卷。

在二进制格式图象处理时,小心紧跟控制字的空格。读文件时,RTF认为第一个空格是控制字分隔符,后面的空格是文档文本的一部分。因此,任何多余的空格附加到图象中,将导致不可预知的结果。

RTF书写器不应使用回车/换行(CR/LF)组合来中断二进制格式的图象。如果这样做,CR/LF组合被作为文字文本,作为图象数据的一部分。

16进制或二进制格式的图象跟随图象引用控制字。下面示例阐明了该引用关键字的格式:

{\pict\wbitmap0\picw170\pich77\wbmbitspixel1\wbmplanes1\wbmwidthbytes22

\picwgoal505

\pichgoal221

\picscalex172

\picscaley172

49f2000000000273023d1101a030

3901000a000000000273023d98

0048000200000275

02040000200010275023e000000000

273023d000002b90002b90002

b90002b90002b9

0002b90002b90002b90002b90002b90002

b92222b90002b90002b90

002b90002b9

0002b90002b90002b90002b9000

绘图对象

基本格式

绘图对象基本RTF格式如下:

{ \shp   ........  { \*\shpinst  { \spp  { \sn .......... }  { \sp .............. }  }  }

            { \shprslt   ............... }   }

第一个引用字(\shp)总是需要给出。这个控制字将所有图形相关信息组合到一起。其后的目标更改信息被认为是图形的基本信息。下面这些具有值的关键字可以出现在“{ \shp”控制字后的任意位置。

控制字

涵义

图形关键字

\shpleftN

指定图形相对于锚点左边的位置。N的单位为缇。

\shptopN

指定图形相对于锚点顶端的位置。N的单位为缇。

\shpbottomN

指定图形相对于锚点底端的位置。N的单位为缇。

\shprightN

指定图形相对于锚点右边的位置。N的单位为缇。

\shplidN

标识每个图形的唯一数值。主要用于链接型文本框。N的值为一个长整形数。

\shpzN

描述图形的Z-ORDER顺序。Z-ORDER顺序从0开始,表示离顶端最远,逐渐向上直到最上面的图形(N)。出现在文档头的图形将具有一个独立的Z-ORDER顺序,与主文档中的Z-ORDER顺序相区别。例如,头部的最末尾图形与正文中的最末尾图形的可以同时为0。

\shpfhdrN

如果图形在主文档区,设置为0;如果在文档头,设置为1。

\shpbxpage

图形相对于X方向页进行定位。

\shpbxmargin

图形相对于X方向页边距进行定位。

\shpbxcolumn

图形相对于X方向列进行定位。

\shpbxignore

忽略\shpbxpage\shpbxmargin\shpbxcolumn,而采用\posrelh。这些被忽略的属性用于保持旧的阅读器的向后兼容性,以保证其理解\posrelh的涵义。

\shpbypage

图形相对于Y方向页进行定位。

\shpbymargin

图形相对于Y方向页边距进行定位。

\shpbypara

图形相对于Y方向段落进行定位。

\shpbyignore

忽略\shpbypage\shpbymargin\shpbxpara,而采用\posrelh。这些被忽略的属性用于保持旧的阅读器的向后兼容性,以保证其理解\posrelh的涵义。

\shpwrN

指定图形的环绕类型:

1    上下型环绕(图形旁边不允许有文字)

2    四周型环绕

3    没有环绕(如同图形不存在一样环绕)

4    四周型紧密环绕

5    穿越型环绕

\shpwrkN

左右环绕属性(针对\shpwrN中的类型2和类型4):

0      两边均环绕

1      只在左边环绕

2      只在右边环绕

3      只在较宽一边环绕

\shpfblwtxtN

描述相对Z-ORDER顺序:

0      文本位于图形下

1      图形位于文本下

\shplockanchor

锁定图形锚点。

\shptxt

图形文本。该文本必须跟在所有的图形属性之后,并且遵循如下格式:

{ \shptxt  Any valid RTF for the current text box }

注意:对链接型文本框来说,其链接集合中的第一个文本框已包含全部描述,故其后的所有文本均不需要一个\shptxt域了。

\shprslt

描述Word 6.0和Word 95绘图对象能够被放置的位置。

\shpgrp

标识一组图形。跟随该关键字的参数与\shp相同。该组中的图形采用从下至上的Z-Order顺序。

在一个\shpgrp组中,不需要给出{ \shprslt .... }域(也就是说,只有根级别的图形具有一个\shprslt域,该域描述了整个组的信息)。例如:

{ \shpgrp  ....... { \shp ..... (and all sub-items as usual) }

               { \shp ......(and all sub-items as usual) }

注意: { \shpgrp ...... }可以被{ \shp ..... }取代,以便在组中再创建组。

除了\shplid之外,上表中列出的其他控制字不会应用于组中的图形。关于组的更多信息,请参见本规范的引言章节。

控制字

涵义

\background

标识文本背景。这是一个引用控制字。它包含一个{ \shp关键字和所有图形属性。

图对象属性

       大部分的绘图对象由一组属性定义。{ \shp ............控制字后面紧跟{ \*\shpinst,而{ \*\shpinst控制字后面跟随一个图形的所有属性列表。每个属性采用如下格式:

{ \sp  { \sn PropertyName } { \sv PropertyValueInformation } }

绘图对象属性控制字为\sp。每个属性由图形属性组中的一对名称(\sn)和值(\sv)控制字来表述。例如,垂直翻转属性表示为:

{\sp{\sn fFlipV}{\sv 1}}

       在这里,该属性名称为fFlipV,值为1,表示为。所有图形属性遵循这个基本格式。只有显式定义的图形属性才需要用RTF写出。其他属性均采用其默认值(一个属性也可以显式定义为默认值)。

示例

{\shp {\*\shpinst \shptop231\shpleft-10\shpright10212\shpbottom273\shpfblwtxt1\shpbypara\shpbxcolumn\shpwr3{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn pib}{\sv{\pict\pngblip\picw681\pich3\picwgoal13620\pichgoal60\picscalex97\picscaley97
89504e470d0a1a0a0000000d49484452000005fd000000060802000000f655a3330000004949444154789cedd8410d00300cc4b075e8cbba4331553ad908f24e
4df701000000204ecd7601000000003fdced0000000000bef07d0000000032f93e00000000997c1f000000804c0f15f003199eb6975d0000000049454e44ae42
6082
}}}}}\pard\sl-20\slmult0\par

\shp 表示这是一个绘图对象,\pngblip表示png格式,图像数据信息:对象属性的\sn为pib,表示二进制图像数据,数据位于\sv内

{\fs22 \rtlch \ltrch \loch \af10 \hich \af10 \dbch \af4 \lang1033 \langnp1033 \langfe2052 \langfenp2052 
{\object \objemb \f13 \objsetsize \objw1455 \objh1320 {\*\objclass Word.Document.12}
{\*\objdata 010500000200000011000000576f72642e446f63756d656e742e3132000000000000000000003a0000d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff0900060000000000000000000000010000000100000000000000001000001a00000001000000feffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
5000000000000}
{\result {\*\shppict {\pict {\*\picprop \shplid1025 {\sp {\sn shapeType}{\sv 75}}{\sp {\sn fFlipH}{\sv 0}}{\sp {\sn fFlipV}{\sv 0}}{\sp {\sn fLockAspectRatio}{\sv 1}}{\sp {\sn fNoFillHitTest}{\sv 1}}{\sp {\sn fFilled}{\sv 0}}{\sp {\sn fLine}{\sv 0}}{\sp {\sn fPreferRelativeResize}{\sv 1}}{\sp {\sn wzName}{\sv Object 1}}{\sp {\sn fLayoutInCell}{\sv 1}}}\piccropl0 \piccropr0 \piccropt0 \piccropb0 \picscalex100 \picscaley100 \picw97 \pich88 \picwgoal1455 \pichgoal1320 \emfblip {\*\blipuid a24a9f01a24a9f01a24a9f01a24a9f01}010000008000000001000000000000005e000000450000000000000000000000ec090000fd08000020454d4600000100281400000e000000020000000a000000006f00660066006900630065002d0032003000300037005e5c27602d0008000000040000000400000003000000060000000700000005000000070000000700000007000000070000000c0000008000000080000000600000006000000250000000c0000000d0000800e0000001
4000000000000001000000014000000}}}}}

文档样本是内嵌了office2007,因此会生成一个内嵌文档(\objdata部分 )和一个位图对象:\shppict后面有\pict ,表示图片,\emfblip表示图片格式为emf,图片数据和\pict同级

{\pict{\*\picprop\defshp\shplid1025{\sp{\sn shapeType}{\sv 136}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn rotation}{\sv -6094848}}{\sp{\sn fLockAspectRatio}{\sv 0}}
{\sp{\sn gtextUNICODE}{\sv \'d2\'d5\'ca\'f5\'d7\'d6test}}{\sp{\sn gtextFont}{\sv \'cb\'ce\'cc\'e5}}{\sp{\sn gtextFReverseRows}{\sv 0}}{\sp{\sn fGtext}{\sv 1}}{\sp{\sn gtextFVertical}{\sv 1}}{\sp{\sn gtextFShrinkFit}{\sv 1}}
{\sp{\sn gtextFBold}{\sv 0}}{\sp{\sn gtextFItalic}{\sv 0}}{\sp{\sn fShadowOK}{\sv 1}}{\sp{\sn fLineOK}{\sv 1}}{\sp{\sn fillColor}{\sv 0}}{\sp{\sn fFilled}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn wzName}{\sv \'d2\'d5\'ca\'f5\'d7\'d6
 1}}{\sp{\sn posrelh}{\sv 1}}{\sp{\sn posrelv}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0
\picw1448\pich6985\picwgoal821\pichgoal3960\wmetafile8\bliptag-223852777\blipupi602{\*\blipuid f2a8471708cf7bd20af2e5c1bae959c7}
0100090000036e1400000800cf01000000000400000003010800050000000b0200000000050000000c0284069701040000002e0118001c000000fb02a8ff0000
0000000090010000008604000002b5c8cfdf00000000000000000000000000000000000000000000000000000000040000002d010000040000002d0100000400
00002d0100001c000000fb02a8ff00000000000090010000008604000002cbcecce5000000000000000000000000000000000000000000000000000000000400
00002d010100040000002d010100040000002d0101000400000002010100040000002d010000040000002d010000040000002d01000005000000090200000002}

\pict图片数据,\defshp表示该内嵌图片为一个Word艺术字形状。艺术字信息位于{\sp{\sn gtextUNICODE}{\sv \'d2\'d5\'ca\'f5\'d7\'d6test}};

{\*\shppict {\pict {\*\picprop \shplid1026 {\sp {\sn shapeType}{\sv 75}}{\sp {\sn fFlipH}{\sv 0}}{\sp {\sn fFlipV}{\sv 0}}{\sp {\sn fLockAspectRatio}{\sv 1}}{\sp {\sn pibName}{\sv 001}}
{\sp {\sn fLineOK}{\sv 1}}{\sp {\sn f3DOK}{\sv 0}}{\sp {\sn fShadowOK}{\sv 1}}{\sp {\sn fNoFillHitTest}{\sv 1}}{\sp {\sn fFilled}{\sv 0}}{\sp {\sn fLine}{\sv 0}}{\sp {\sn fPreferRelativeResize}{\sv 1}}
{\sp {\sn wzName}{\sv \'cd\'bc\'c6\'ac 2}}{\sp {\sn wzDescription}{\sv 001}}{\sp {\sn fLayoutInCell}{\sv 1}}}
\piccropl0 \piccropr0 \piccropt0 \piccropb0 \picscalex73 \picscaley73 \picw784 \pich1104 \picwgoal11766 \pichgoal16565 \jpegblip 
{\*\blipuid 0e5aa7b60e5aa7b60e5aa7b60e5aa7b6}ffd8ffe000104a46494600010101012c012c0000ffe10a6a4578696600004d4d002a0000000800070112000300000
00100010000011a00050000000100000062011b0005000000010000006a012800030000000100020000013100020000001b0000007201320002000000140000008e8769000
400000001000000a2000000ce0000012c000000010000012c0000000141646f62652050686f746f73686f702043532057696e646f77730000323031323a30353a3037203135
a28a00ffd9}}

*\shppict {\pict表示图片,jpegblip 表示图片格式是jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1480865.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSP-201912-2-回收站选址

CSP-201912-2-回收站选址 【50分思路-暴力枚举】 #include <iostream> #include <vector> #include <algorithm> using namespace std; struct trashPoint {int x; int y; }; vector<trashPoint>trashList; vector<int>grade(5); int main…

MySQL:使用聚合函数查询

提醒&#xff1a; 设定下面的语句是在数据库名为 db_book里执行的。 创建t_grade表 USE db_book; CREATE TABLE t_grade(id INT,stuName VARCHAR(20),course VARCHAR(40),score INT );为t_grade表里添加多条数据 INSERT INTO t_grade(id,stuName,course,score)VALUES(1,测试0…

1.QT简介(介绍、安装,项目创建等)

1. QT介绍 Qt&#xff08;官方发音 [kju:t]&#xff09;是一个跨平台的C开发库&#xff0c;主要用来开发图形用户界面&#xff08;Graphical User Interface&#xff0c;GUI&#xff09;程序 Qt 是纯 C 开发的&#xff0c;正常情况下需要先学习C语言、然后在学习C然后才能使用…

JS reduce() 附使用详解

reduce() 方法对数组中的每个元素执行自己提供的回调函数(依次执行)&#xff0c;将其结果汇总为单个返回值。 文章目录 前言一、reduce()是什么&#xff1f;二、使用步骤1.语法2.实例解析 initialValue 参数3.注意事项4.应用情况 三、总结 前言 reduce()方法可以搞定的东西特别…

使用MindOpt时常见的报错,以及对应的解决方法

本篇描述的license问题均为云鉴权的方式 执行 mindopt -c检查许可证的配置&#xff08;license文件&#xff09; 许可证过期 示例&#xff1a; 解决方法&#xff1a; 在控制台中续费即可 并发不够&#xff08;409&#xff09;&#xff0c;以及两个 WARN提示 示例&#xff1…

【前端素材】推荐优质在线高端蜂蜜商城电商网页Beejar平台模板(附源码)

一、需求分析 1、系统定义 在线高端蜂蜜商城是指一个专门销售高品质、高端蜂蜜产品的电子商务平台。这种商城致力于向消费者提供各种经过精心挑选、具有高营养价值和健康功效的蜂蜜产品。 2、功能需求 在线高端蜂蜜商城是指一个专门销售高品质、高端蜂蜜产品的电子商务平台…

没有项目经历,该如何写简历?

没有项目经历&#xff0c;我该如何写简历 一、前言二、挖掘自己三、看现成的项目经验&#xff0c;转化成自己的语言1、硬件方面2、软件方面 四、最后 一、前言 相信有很多刚出来找工作的人会遇到这种情况&#xff0c;因为自身没有项目经历&#xff0c;投了很多的简历都石沉大海…

小甲鱼Python07 函数初级

一、创建和调用函数 pass语句表示一个空的代码块&#xff0c;我们经常先写好函数&#xff0c;pass占一个坑&#xff0c;等规划好之后再来填坑。 函数也是可以指定参数的&#xff0c;我们会把参数传进去用来替代形参。 在Python里如果想要返回值&#xff0c;不需要指定函数的返…

Redis 【1】—— 安装 与 配置

Redis 【1】—— 安装 与 配置 一、安装 与 配置&#xff08;一&#xff09;使用 yum 安装&#xff08;二&#xff09;创建符号链接1. 软链接2. 相关指令 &#xff08;三&#xff09;修改配置文件&#xff08;四&#xff09;Redis 的启停 一、安装 与 配置 &#xff08;一&…

【leetcode】反转链表

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家刷题&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 方法1 .将箭头方向逆转方法2. 点击查看题目 方法1 .将箭头方向逆转 思路&#xff1a; n1,n2,n3分别指…

Topaz Video AI:一键提升视频品质,智能重塑影像魅力 mac/win版

Topaz Video AI是一款革命性的视频智能处理软件&#xff0c;它利用先进的机器学习和人工智能技术&#xff0c;为视频创作者提供了前所未有的视频增强和修复功能。无论您是专业视频编辑师、摄影师&#xff0c;还是热爱视频创作的爱好者&#xff0c;Topaz Video AI都能帮助您轻松…

大数据分析案例-基于SVM支持向量机算法构建手机价格分类预测模型

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

React富文本编辑器开发(三)

现在我们的编辑器显示的内容很单一&#xff0c;这自然不是我们的目标&#xff0c;让呈现的内容多元化是我们的追求。这就需要让编辑器能够接收多元素的定义。从初始数据的定义我们可以推断数据的格式远不止一种&#xff0c;那么其它类型的数据如何定义及呈现的呢&#xff0c;我…

【 C++ 】智能指针

1、内存泄漏 什么是内存泄漏&#xff0c;内存泄漏的危害 什么是内存泄漏&#xff1a; 内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失&#xff0c;而是应用程序分配某段内存后&#xff0c;因为设计错误&#xff0c…

操作系统导论

操作系统的概念&#xff1a; 操作系统是管理计算机硬件的程序&#xff0c;它还为应用程序提供基础&#xff0c;并且充当计算机硬件和计算机用户之间的中介。 操作系统做什么&#xff1a; 计算机系统可以大致分为四个部分&#xff1a;硬件&#xff0c;操作系统&#xff0c;系…

kafka查看数据_Kafka 数据积压情况查看

由于消息消费速度处理慢或是消费端故障会导致数据产生积压。 那怎么查看数据积压量呢&#xff1f; Consumer-Groups管理&#xff1b; 在Kafka 的bin目录下提供了 kafka-consumer-groups.sh 脚本。此脚本用于管理消费情况。 查询消费者组 $KAFKA_DIR/bin/kafka-consumer-groups…

【Sql server】假设有三个字段a,b,c 以a和b分组,如何查询a和b唯一,但是c不同的记录

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是《Sql Server》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对…

深入理解计算机系统笔记

1.1 嵌套的数组 当我们创建数组的数组时&#xff0c;数组分配和引用的一般原则也是成立的。 例如&#xff0c;声明 int A[5][3]; 等价于下面的声明 typedef int row3_t[3]; row3_t A[5] 要访问多维数组的元素&#xff0c;编译器会以数组起始为基地址&#xff0c; (可能需…

教你快速认识Java中的继承和多态

目录 继承 继承的概念 继承的语法 父类成员访问 在子类方法中或者通过子类对象访问父类成员变量时&#xff1a; 在子类方法中或者通过子类对象访问父类成员方法时&#xff1a; super关键字 子类构造方法&#xff1a; 代码块执行顺序: 多态 多态的实现条件 重写 重…

MySql安全加固:配置不同用户不同账号禁止使用旧密码禁止MySql进程管理员权限

MySql安全加固&#xff1a;配置不同用户不同账号&禁止使用旧密码&禁止MySql进程管理员权限 1.1 检查是否配置不同用户不同账号1.2 检查是否禁止使用旧密码1.3 禁止MySql进程管理员权限 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496…