csharp 【C#】字节配列から文字列(移位-JIS)に変换する

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 【C#】字节配列から文字列(移位-JIS)に変换する相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BytesToShiftJisCharacters
{
    /// <summary>
    /// バイト配列からSHIFT-JISに変換する
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            // ABC(NULL)
            // Little Endian.
            var bytes = new byte[][]
            {
                new byte[] {0x42, 0x41 },
                new byte[] {0x00, 0x43 }
            };
            var convertedBytes = bytes.SelectMany(b => b.Reverse()).ToArray();
            Console.WriteLine($"INPUT: {BitConverter.ToString(convertedBytes)}");

            // SHIFT-JIS
            var shiftJisCharacters = Encoding.GetEncoding("shift-jis").GetString(convertedBytes);
            Console.WriteLine($"OUTPUT: {shiftJisCharacters}");

            // Short version.
            var shorts = new ushort[]
            {
                BitConverter.ToUInt16(new byte[] { 0x42, 0x41 }, 0),
                BitConverter.ToUInt16(new byte[] { 0x00, 0x43 }, 0)
            };
            var result = shorts.SelectMany(s => BitConverter.GetBytes(s).Reverse()).ToArray();

            // SHIFT-JIS
            Console.WriteLine($"OUTPUT: {Encoding.GetEncoding("shift-jis").GetString(result)}");
            Console.ReadKey();
        }
    }
}

以上是关于csharp 【C#】字节配列から文字列(移位-JIS)に変换する的主要内容,如果未能解决你的问题,请参考以下文章

csharp 文字列から长さや,一部分を取得する。半角,全角を区别しない场合はstring.length减で良いが,区别する场合はEncoding.GetByteCountでエンコーディングを使用した

csharp 标准の数値书式指定文字列とかカスタム书式とか的ToString(字符串)メソッドなどで,数値のフォーマットを指定して文字列で表现することができます。たまにしか使わないから忘れちゃうんです

ruby 配列から共通の要素を抜き出す

python モチーフの2次构造と配列のセットからantaRNAによって配列セットを作る。

php 配列の中か文字列を探す

ruby 开始から开始+边缘までの范をを含む配列を生成する