shift-jis-elixir/README.md

1.1 KiB

SHIFT_JIS in Elixir with Codepagex

A demonstration of how to encode/decode SHIFT_JIS in Elixir with the Codepagex library

Config

SHIFT_JIS is called VENDORS/MICSFT/WINDOWS/CP932 in Codepagex. Enable it in config:

config :codepagex, :encodings, [
  # CP392 is SHIFT_JIS
  # https://en.wikipedia.org/wiki/Code_page_932_(Microsoft_Windows)
  # Make sure to `mix deps.compile codepagex --force` after changing this
  "VENDORS/MICSFT/WINDOWS/CP932"
]

Encode/Decode

After that we can encode/decode:

defmodule ShiftJis do
  # Check config/config.exs to see how to enable this
  @shift_jis "VENDORS/MICSFT/WINDOWS/CP932"

  @doc ~S"""
      iex> test = ShiftJis.encode("テスト")
      <<131, 101, 131, 88, 131, 103>>
      iex> ShiftJis.decode(test)
      "テスト"
  """

  def encode(str), do: Codepagex.from_string!(str, @shift_jis)
  def decode(str), do: Codepagex.to_string!(str, @shift_jis)
end