質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

2815閲覧

Javaで文字コードを判定するboolean型を作成したい

Kevin24

総合スコア2

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2022/01/10 04:01

java初心者です。

文字列がSJIS型の時にtureとなるboolean型を作成したいのですがうまくいきません。

作成方法をご教授いただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2022/01/10 04:13

どのようなコードを書いてうまくいかないのか、具体的なコードの提示とともに、ちゃんと説明しましょう。 ※ teratailは要望をぶん投げると回答をもらえるようなサイトではありません。 [質問するときのヒント] https://teratail.com/help/question-tips
m.ts10806

2022/01/10 04:17

型を作成したい というのがどういうゴールを目指しているか分かりません。 そういう自作クラス、メソッドの話ではないのでしょうか。
jimbe

2022/01/10 06:07

> 文字列がSJIS型の時 『SJIS型』というものを今まで見たことが無いのですが、何でしょう。
Kevin24

2022/01/10 06:48

自分でもしっかりと整理できていませんでした。 作りたいのは戻値がboolean型のメソッドで、 SJISは文字コードのことでした。
m.ts10806

2022/01/10 07:10

質問は編集できます。
jimbe

2022/01/10 10:01 編集

"文字列"が String なら、その時点で unicode ですので、shiftjis ではありません。
guest

回答1

0

ベストアンサー

ナニをどう試したのか足跡が見えないのでヒントだけ。

  1. 文字列を用意する
  2. 用意した文字列を、判定したい文字コードでバイト列に変換する
  3. 変換したバイト列を、判定したい文字コードで文字列に変換する
  4. 変換した文字列が、最初に用意した文字列と一致するか判定する

追記。

jimbeさんの指摘。

"文字列"が String なら、その時点で unicode ですので、shiftjis ではありません。

まったくその通りです。文字列を用意するまえに、目的の文字コードのバイト列かどうか判断できなればいけませんでした。
ぜんぜん的外れな内容でした。考え直してください > Kevin24さん

投稿2022/01/10 04:12

編集2022/01/11 08:05
shiketa

総合スコア4061

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kevin24

2022/01/10 06:50

public static boolean code1(String a) { a = "file2.txt"; byte[] bytes; String newStr=""; try{ bytes = a.getBytes("SJIS"); newStr = new String(bytes, "SJIS"); }catch(Exception e) { } if(newStr == a) { return true; }else { return false; } } ヒントをもとにこのようにコードを修正してみました。 ありがとうございました。
shiketa

2022/01/10 07:14

ぜんぜんダメ。 ```java public static boolean code1(final String a) { try { final byte[] bytes = a.getBytes("SJIS"); final String newStr = new String(bytes, "SJIS"); return a.equals(newStr); } catch (Exception e) { return false; } } ```
Kevin24

2022/01/10 13:00

equalsを使うことは頭にありませんでした…。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問