問題をコード化文字NIO

すべてのコードを取得

import org.junit.jupiter.api.Test;

import java.io.IOException;
import java.nio.charset.Charset;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;


public class ChannelTest {
    @Test
    public void channel5() throws IOException {
        Map<String, Charset> charsets = Charset.availableCharsets();
        Set<Entry<String,Charset>> sets=charsets.entrySet();
        for (Entry<String,Charset>entry:sets){
            System.out.println(entry.getKey()+"="+entry.getValue());
        }
    }

}

エンコードとデコード

import org.junit.jupiter.api.Test;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;


public class ChannelTest {
    @Test
    public void channel6() throws IOException {
        Charset cs1 = Charset.forName("GBK");
        //获取编码器(上面设计了GBK)所以通过cs1设置编码默认就是GBK
        CharsetEncoder ce=cs1.newEncoder();
        //获取解码器
        CharsetDecoder cd = cs1.newDecoder();

        CharBuffer cBuf=CharBuffer.allocate(1024);
        cBuf.put("你好java");
        cBuf.flip();//切换成读取
        //编码
        ByteBuffer bBuf=ce.encode(cBuf);
        for (int i = 0; i < 8; i++) {
            System.out.println(bBuf.get());
        }


        bBuf.flip();
        //解码
        CharBuffer cBuf2 = cd.decode(bBuf);
        System.out.println(cBuf2);

    }

}

 

公開された242元の記事 ウォン称賛13 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_41813208/article/details/103839428
おすすめ