代码之家  ›  专栏  ›  技术社区  ›  John Pollard

如何修复不兼容的字符编码:UTF-8和ASCII-8BIT

  •  0
  • John Pollard  · 技术社区  · 6 年前

    问题出在'chap<“\xFF\xFF\xFF\xFF\xFF\xFF\xFF”'行。

    chaps = []
    ctoc = "toc1\x00"
    ctoc << [3, chapters.size].pack("CC")
    chapters.each_with_index do |ch, i|
      num = i+1
      title = ch[:title]
      description = ch[:description]
      link = ch[:link]
    
      ctoc << "ch#{num}\x00"
    
      chap = "ch#{num}\x00"
      chap << [ch[:start]*1000, ch[:end]*1000].pack("NN");
      chap << "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
    
      title_tag = [title.encode("utf-16")].pack("a*");
      chap << "TIT2"
      chap << [title_tag.size+1].pack("N")
      chap << "\x00\x00\x01"
      chap << title_tag
    
      chaps << chap
    end
    

    # encoding: utf-8
    
    0 回复  |  直到 6 年前