JPEG形式のファイルには「.jpg」
と「.jpeg」
という2種類の拡張子があります。
「JPG(.jpg)」
と「JPEG(.jpeg)」
の違いを解説します。
JPEG(ジェイペグ)形式とは
JPEG形式はフルカラーの1,677万色を表現することができ、風景写真など色合いにグラデーションがある画像に適しているファイル形式です。
JPEGはPNGとは異なり、一度画像を圧縮してしまうと元に戻せない「不可逆圧縮」という特徴があります。そのため画質を下げてしまうと、元の画質には戻せません。
.jpegと.jpgの違い
端的に言うと、この2つは表記されている拡張子が違うだけで、機能面での違いはありません。
「.jpg」と「.jpeg」どちらの拡張子を選べばいいの?
→迷ったら「.jpg」を利用しよう。
.jpgと.jpegは同じファイル形式であり、拡張子が異なるだけで利用制限などの違いはありません。
ここまで紹介してきたように「.jpg」
と「.jpeg」
に表記以外の違いはなく、あまり違いを意識しなくても利用できます。
もしファイルを保存する際にどちらの形式にするか迷ったら、より一般的に普及している「.jpg」
にするといいでしょう。
※jpegだと画像が表示されないことがある
拡張子が"jpeg"になっていると、ローカルでは表示されるのに、Herokuにデプロイしたときに表示されずエラーが起きることがあります。
<!-- NG: 拡張子がjpegになっている! -->
<%= image_tag "bread.jpeg" %>
対処法: コード上のJPG画像の拡張子は"jpg"で統一する
Railsはassets:precompile
を実行すると、JPG画像の拡張子を"jpg"に統一します。そのため、コード上の拡張子が"jpeg"になっているとファイルが参照できず、エラーが発生します。以下のように拡張子を"jpg"にすればHerokuで画像が表示されます。
<%= image_tag "bread.jpeg" %>
↓
<%= image_tag "bread.jpg" %>
app/assets/images/
に格納されている画像の拡張子も"jpeg"になっている場合は、無用なトラブルを避けるため、あわせて"jpg"に変更しておきましょう。
git mv app/assets/images/bread.jpeg app/assets/images/bread.jpg