[玩转系统] Format-Hex (Microsoft.PowerShell.Utility)
作者:精品下载站 日期:2024-12-14 02:07:31 浏览:15 分类:玩电脑
Format-Hex (Microsoft.PowerShell.Utility)
Format-Hex
模块 :Microsoft.PowerShell.Utility将文件或其他输入显示为十六进制。
句法
Format-Hex
[-Path] <String[]>
[-Count <Int64>]
[-Offset <Int64>]
[<CommonParameters>]
Format-Hex
-LiteralPath <String[]>
[-Count <Int64>]
[-Offset <Int64>]
[<CommonParameters>]
Format-Hex
-InputObject <PSObject>
[-Encoding <Encoding>]
[-Count <Int64>]
[-Offset <Int64>]
[-Raw]
[<CommonParameters>]
描述
Format-Hex
cmdlet 将文件或其他输入显示为十六进制值。要确定某个字符相对于输出的偏移量,请将该行最左侧的数字与该字符的列顶部的数字相加。
Format-Hex
cmdlet 可以帮助您确定损坏的文件或可能没有文件扩展名的文件的文件类型。您可以运行此 cmdlet,然后读取十六进制输出以获取文件信息。
在文件上使用 Format-Hex
时,cmdlet 会忽略换行符,并以一个字符串返回文件的全部内容,并保留换行符。
示例
示例 1:获取字符串的十六进制表示形式
该命令返回字符串的十六进制值。
'Hello World' | Format-Hex
Label: String (System.String) <2944BEC3>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 48 65 6C 6C 6F 20 57 6F 72 6C 64 Hello World
字符串 Hello World 沿着管道发送到 Format-Hex
cmdlet。 Format-Hex
的十六进制输出显示字符串中每个字符的值。
示例 2:从十六进制输出查找文件类型
此示例使用十六进制输出来确定文件类型。该 cmdlet 显示文件的完整路径和十六进制值。
要测试以下命令,请在本地计算机上复制现有 PDF 文件并将复制的文件重命名为 File.t7f
。
Format-Hex -Path .\File.t7f -Count 48
Label: C:\Test\File.t7f
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 25 50 44 46 2D 31 2E 35 0D 0A 25 B5 B5 B5 B5 0D %PDF-1.5..%????.
0000000000000010 0A 31 20 30 20 6F 62 6A 0D 0A 3C 3C 2F 54 79 70 .1 0 obj..<</Typ
0000000000000020 65 2F 43 61 74 61 6C 6F 67 2F 50 61 67 65 73 20 e/Catalog/Pages
Format-Hex
cmdlet 使用Path 参数指定当前目录中的文件名File.t7f
。文件扩展名.t7f
并不常见,但十六进制输出%PDF
表明它是一个PDF文件。在此示例中,Count 参数用于将输出限制为文件的前 48 个字节。
示例 3:格式化不同数据类型的数组
此示例使用不同数据类型的数组来突出显示 Format-Hex
如何在管道中处理它们。
它将通过管道传递每个对象并单独进行处理。但是,如果它是数字数据,并且相邻对象也是数字,它会将它们分组到单个输出块中。
'Hello world!', 1, 1138, 'foo', 'bar', 0xdeadbeef, 1gb, 0b1101011100 , $true, $false | Format-Hex
Label: String (System.String) <24F1F0A3>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 48 65 6C 6C 6F 20 77 6F 72 6C 64 21 Hello world!
Label: Int32 (System.Int32) <2EB933C5>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 01 00 00 00 72 04 00 00 � r�
Label: String (System.String) <4078B66C>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 66 6F 6F foo
Label: String (System.String) <51E4A317>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 62 61 72 bar
Label: Int32 (System.Int32) <5ADF167B>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 EF BE AD DE 00 00 00 40 5C 03 00 00 ï¾-Þ @\�
Label: Boolean (System.Boolean) <7D8C4C1D>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 01 00 00 00 00 00 00 00 �
参数
-Count
这表示十六进制输出中包含的字节数。
此参数是在 PowerShell 6.2 中引入的。
类型 :整型64
位置:命名
默认值:Int64.MaxValue
必需的:False
接受管道输入:False
接受通配符:False
-Encoding
指定输入字符串的编码。这仅适用于 [string]
输入。该参数对数字类型没有影响。输出值始终为 utf8NoBOM
。
该参数可接受的值如下:
ascii
:使用 ASCII(7 位)字符集的编码。ansi
:使用当前区域性的 ANSI 代码页的编码。此选项是在 PowerShell 7.4 中添加的。bigendianunicode
:使用 big-endian 字节顺序以 UTF-16 格式进行编码。bigendianutf32
:使用 big-endian 字节顺序以 UTF-32 格式进行编码。oem
:使用 MS-DOS 和控制台程序的默认编码。unicode
:使用小端字节顺序以 UTF-16 格式进行编码。utf7
:以UTF-7格式编码。utf8
:以UTF-8格式编码。utf8BOM
:使用字节顺序标记 (BOM) 以 UTF-8 格式进行编码utf8NoBOM
:以 UTF-8 格式编码,不带字节顺序标记 (BOM)utf32
:以 UTF-32 格式编码。
从 PowerShell 6.2 开始,Encoding 参数还允许使用注册代码页的数字 ID(例如 -Encoding 1251
)或注册代码页的字符串名称(例如 -Encoding “windows-1251”
)。有关详细信息,请参阅 Encoding.CodePage 的 .NET 文档。
从 PowerShell 7.4 开始,您可以使用 Encoding 参数的 Ansi
值来传递当前区域性 ANSI 代码页的数字 ID,而无需手动指定。
笔记
不再建议使用UTF-7*。从 PowerShell 7.1 开始,如果为 Encoding 参数指定 utf7
,则会写入警告。
编码
接受的值:ASCII、BigEndianUnicode、BigEndianUTF32、OEM、Unicode、UTF7、UTF8、UTF8BOM、UTF8NoBOM、UTF32
位置:命名
默认值:UTF8无BOM
必需的:False
接受管道输入:False
接受通配符:False
-InputObject
指定要格式化的对象。输入包含对象的变量或键入获取对象的命令或表达式。
仅支持某些标量类型和[system.io.fileinfo]
。
支持的标量类型有:
[字符串]
,[字符]
[字节]
,[sbyte]
[int16]
、[uint16]
、[short]
、[ushort]
[int]
、[uint]
、[int32]
、[uint32]
、[long]
、[ulong]
、[int64]
、[uint64]
[单]
、[浮点]
、[双]
[boolean]
在 PowerShell 6.2 之前,Format-Hex 会通过将所有类似对象分组在一起来处理具有多种输入类型的管道输入。现在,它在每个单独的对象通过管道时对其进行处理,并且不会将对象分组在一起,除非相似的对象相邻。
类型 :PS对象
位置:命名
默认值:None
必需的:True
接受管道输入:True
接受通配符:False
-LiteralPath
指定文件的完整路径。 LiteralPath 的值完全按照键入的方式使用。该参数不接受通配符。要指定多个文件路径,请用逗号分隔路径。如果 LiteralPath 参数包含转义字符,请将路径用单引号引起来。 PowerShell 不会将单引号字符串中的任何字符解释为转义序列。有关更多信息,请参阅 about_Quoting_Rules。
类型 :String[]
别名:PSPath, LP
位置:命名
默认值:None
必需的:True
接受管道输入:False
接受通配符:False
-Offset
这表示作为十六进制输出的一部分要跳过的字节数。
此参数是在 PowerShell 6.2 中引入的。
类型 :整型64
位置:命名
默认值:0
必需的:False
接受管道输入:False
接受通配符:False
-Path
指定文件的路径。使用点 (.
) 指定当前位置。接受通配符 (*
),它可用于指定某个位置中的所有项目。如果Path参数包含转义字符,请将路径用单引号引起来。要指定多个文件路径,请用逗号分隔路径。
String[]
位置:0
默认值:None
必需的:True
接受管道输入:False
接受通配符:True
-Raw
该参数不再执行任何操作。保留它是为了脚本兼容性。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
输入
字符串
您可以通过管道将字符串传递给此 cmdlet。
输出
字节集合
此 cmdlet 返回ByteCollection。该对象表示字节的集合。它包括将字节集合转换为格式类似于 Format-Hex
返回的每行输出的字符串的方法。输出还表明正在处理的字节类型。如果指定 Path 或 LiteralPath 参数,则该对象包含包含每个字节的文件的路径。如果您传递字符串、布尔值、整数等,它将被适当标记。
笔记
PowerShell 包含以下 Format-Hex 别名:
所有平台:
fhx
输出的最右列尝试将字节呈现为 ASCII 字符:
通常,每个字节都被解释为一个 Unicode 代码点,这意味着:
- 可打印 ASCII 字符始终正确呈现
- 多字节 UTF-8 字符永远无法正确呈现
- 仅当 UTF-16 字符的高位字节恰好为
NUL
时,UTF-16 字符才能正确呈现。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag