خرید بک لینک

Vote count: 0

In the API of a document converter, which generates HTML (or XHTML), I want to expose these methods:

// Convert the input file to a file using the specified charset
void convert(File in, File out, Charset charset);

// Convert the input document to a string using the specified charset
String convert(String in, Charset charset);

There is no way for client code to produce faulty documents with the file-based method, it safely writes a result document with the specified charset.

The String based method obviuously will lead to problems, if the client code does not respect the chosen charset - for example if the charset is ISO-8859-1 and the result String is served as UTF-8 content by a web application:

String html = convert(getInputDocument(), ISO_8859_1);
...
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");

try (PrintWriter out = response.getWriter()) {
  out.print(html);
}

Question: which options should I consider to design the API so that users are guided to correct usage of the result string?

  • deprecate the method and provide a method which retus a byte array
  • use method names which contain the encoding (convertToUTF_8, convertToISO_8859_1 ...)
asked 1 min ago

برچسب: نویسنده: استخدام کار تاريخ: شنبه 15 خرداد 1395 ساعت: 15:22

صفحه بندی