반응형
PowerShell에서 Byte[] 만들기
저는 COM API를 사용하고 있는 PowerShell 코드를 가지고 있습니다.바이트 배열을 전달할 때 유형 불일치 오류가 발생합니다.다음은 배열을 만드는 방법과 몇 가지 유형 정보입니다.
PS C:\> $bytes = Get-Content $file -Encoding byte
PS C:\> $bytes.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
PS C:\> $bytes[0].GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Byte System.ValueType
API를 찾아보니 기본 유형의 시스템을 가진 Byte[]를 찾고 있습니다.배열.
PS C:\> $r.data.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Byte[] System.Array
PS C:\> $r.data[0].gettype()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Byte System.ValueType
제가 하려는 것은 $bytes를 $r.data와 동일한 유형으로 변환하는 것입니다.어떤 이유에서인지 $bytes가 Object[]로 생성되고 있습니다.바이트[]에 캐스팅하려면 어떻게 해야 합니까?
이 답은 문맥이 없는 질문에 대한 것입니다.검색 결과 때문에 추가하는 겁니다.
[System.Byte[]]::CreateInstance([System.Byte],<Length>)
아마 더 많은 방법이 있겠지만, 제가 생각할 수 있는 방법은 다음과 같습니다.
직접 배열 초기화:
[byte[]] $b = 1,2,3,4,5
$b = [byte]1,2,3,4,5
$b = @([byte]1,2,3,4,5)
$b = [byte]1..5
초기화되지 않은 배열 만들기
$b = [System.Array]::CreateInstance([byte],5)
$b = [byte[]]::new(5) # Powershell v5+
$b = New-Object byte[] 5
$b = New-Object -TypeName byte[] -Args 5
그리고 만약 당신이 원하는 것이 있다면,byte[]
(2-D 배열)
# 5 by 5
[byte[,]] $b = [System.Array]::CreateInstance([byte],@(5,5)) # @() optional for 2D and 3D
[byte[,]] $b = [byte[,]]::new(5,5)
추가:
# 3-D
[byte[,,]] $b = [byte[,,]]::new(5,5,5)
[byte[,]] $b = [System.Array]::CreateInstance([byte],5,5,5)
PS 5.1에서는 다음과 같습니다.
[System.Byte[]]::CreateInstance(<Length>)
저한테는 안 통했어요그래서 대신 했습니다.
new-object byte[] 4
빈 바이트[4]:
0
0
0
0
바이트 배열로 캐스트:
[byte[]]$bytes = Get-Content $file -Encoding byte
임의 문자열만 바이트[] 배열로 인코딩하려면 FWIW:
$foo = "This is a string"
[byte[]]$bar = $foo.ToCharArray()
언급URL : https://stackoverflow.com/questions/17474131/creating-byte-in-powershell
반응형
'programing' 카테고리의 다른 글
파워셸에서 병렬로 태스크 실행 (0) | 2023.11.01 |
---|---|
Ora-01427 단일 행 하위 쿼리가 두 개 이상의 행을 선택하여 반환하도록 수정하는 방법은 무엇입니까? (0) | 2023.10.27 |
AngularJS - Get 및 Post에 대한 $resource different URL (0) | 2023.10.27 |
AJAX가 뭐지, 정말? (0) | 2023.10.27 |
SQL Server(2008)에서 특정 테이블을 사용하는 뷰를 찾는 방법은 무엇입니까? (0) | 2023.10.27 |