2017-06-13 18 views
1

私はページにHTTPリクエストをしています。このページにはキリル文字があります。私はどのようにCP1251の答えをUTF8に変換できますか?Kotlin内でwin1251エンコーディングをUTF8に変換するにはどうすればよいですか?

ここに私のコードです。

package bash 

import com.github.kittinunf.fuel.httpGet 
import com.github.kittinunf.result.Result 

fun main(args: Array<String>) { 
    val bashImHost = "http://bash.im/" 
    bashImHost.httpGet().responseString { request, response, result -> 
     when (result) { 
      is Result.Failure -> { 
       println("Some kind of error!") 
      } 
      is Result.Success -> { 
       val htmlBody = result.value 
       val parsePattern = "<div class=\"text\">(.+)</div>" 
       val parseRegex = Regex(parsePattern) 
       val results = parseRegex.findAll(htmlBody) 
       results.iterator().forEach { resultItem -> println(resultItem.groups[1]?.value) } 
      } 
     } 
    } 
} 

私はFuel HTTPライブラリを使用しています。

答えて

2

は、それがCharset.forName("Windows-1251")を使用して応答をデコードするためにCharsetを受け入れresponseStringオーバーロードを使用します。

bashImHost.httpGet().responseString(Charset.forName("Windows-1251")) { 
    request, response, result -> 

    /* ... */ 
} 

は、それが使用してStringに変換された後は、Windows-1251への応答のエンコーディングを変更することはできませんように思えます間違ったエンコードUTF-8、this Q&Aを参照してください。

+0

ありがとう、あなた! – Jakeroid

+0

どうすればresponseJson? –

関連する問題