掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
バイト配列の値を文字列に変換するには? (ID:112672)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
最終的にこんな感じ。要するに文字として完結してないゴミがあったんですけど、 Visual Basic .NET のすべての文字列は Unicode で、MidB とかはサポートされて なかったですね。 String にしてからの修正操作が見つかりませんでした。 [VB.NET] Dim strString As String = "1123漢r字4567890" Dim BytesA() As Byte Dim BytesWK() As Byte Dim sjisEnc As System.text.Encoding Dim str As String Dim i, n As Integer n = 15 ' 切り取りたいバイト数 ' この時点で strString の文字の区切りと合ってない場合に修正しても 'いいと思います。 sjisEnc = sjisEnc.GetEncoding("Shift_JIS") BytesA = sjisEnc.GetBytes(strString) ReDim BytesWK(n - 1) For i = 0 To n - 1 BytesWK(i) = BytesA(i) Next i i = UBound(BytesWK, 1) ' ↓ここの条件はコードページを基に修正してください。 If BytesWK(i) = 130 _ Or BytesWK(i) < 0 _ Or BytesWK(i) < 0 Then ReDim Preserve BytesWK(i - 1) End If str = sjisEnc.GetString(BytesWK) 'str = str & "Dummy" ' 最後に"が付いてない状態だとこの処理がうまくいかないです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.