Преобразовать строку от ASCII до EBCDIC в Java?

Да, вы можете. Я только что протестировал, и он работает. Вам просто нужно добавить свой таймер в основной цикл запуска NSRunLoopCommonModes:

RunLoop.main.add(yourTimerName, forMode: .commonModes)

import NotificationCenter

class TodayViewController: UIViewController, NCWidgetProviding {

    @IBOutlet weak var strTimer: UILabel!

    var timer = Timer()

    func updateInfo() {
        strTimer.text = Date().description
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(updateInfo), userInfo: nil, repeats: true)
        RunLoop.main.add(timer, forMode: .commonModes)
    }
    func widgetPerformUpdate(completionHandler: @escaping (NCUpdateResult) -> Void) {
        completionHandler(.newData)
    }
}
17
задан Toon Krijthe 15 December 2008 в 15:00
поделиться

5 ответов

JTOpen, версия IBM с открытым исходным кодом их панели инструментов Java имеет набор классов для доступа к объектам AS/400, включая FileReader и FileWriter для доступа к собственным текстовым файлам AS400. Это может быть легче использовать тогда запись Ваших собственных классов преобразования.

От домашней страницы JTOpen:

Вот всего несколько из многих i5/OS и ресурсов ОС/400, можно получить доступ к использованию JTOpen:

  • База данных - JDBC (SQL) и доступ рекордного уровня (DDM)
  • Интегрированная Файловая система
  • вызовы Программы
  • Команды
  • очереди Данных
  • области Data
  • ресурсы Печати/шпульки
  • продукт и информация PTF
  • Jobs и журналы задания
  • сообщения, очереди сообщений, файлы сообщений
  • Пользователи и группы
  • Пространства пользователя
  • Системные значения
  • Состояние системы
10
ответ дан 30 November 2019 в 11:04
поделиться

Обратите внимание на то, что Строка в Java содержит текст в собственном кодировании Java. Когда содержание ASCII или EBCDIC "представляет в виде строки" в памяти до кодирования Строкой, у Вас будет он в байте [].

ASCII -> Java:   new String(bytes, "ASCII")
EBCDIC -> Java:  new String(bytes, "Cp1047")
Java -> ASCII:   string.getBytes("ASCII")
Java -> EBCDIC:  string.getBytes("Cp1047")
28
ответ дан 30 November 2019 в 11:04
поделиться

Необходимо использовать или набор символов Java Cp1047 (Java 5) или Cp500 (JDK 1.3 +).

Использование конструктор String: String(byte[] bytes, [int offset, int length,] String enc)

2
ответ дан 30 November 2019 в 11:04
поделиться

Можно создать один yoursef с этим , таблица преобразования .

Но здесь является сайтом, который имеет ссылку на пример Java.

1
ответ дан 30 November 2019 в 11:04
поделиться

Должно быть довольно просто записать карту для набора символов EBCDIC, и один для набора символов ASCII, и в каждом возврате символьное представление другого. Тогда просто цикл по строке, чтобы перевести, и искать каждый символ в карте и добавить его к выходной строке.

я не знаю, существует ли какой-либо общедоступный преобразователь, но не должно требоваться больше чем часа или так записать тот.

0
ответ дан 30 November 2019 в 11:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: