MyBox: Easy Tools Set

User Guide – Data Tools

Author: Mara

Version: 6.5.9

Date: 2022-8-31

Contents

1 Introduction	6

1.1 Main Interface	6

1.2 Resources Addresses	7

1.3 Documents	8

1.4 Menu of Tools	8

2 Two-dimensional Data	9

2.1 Edit Data	9

2.1.1 Data Objects	9

2.1.2 Functions Menu	10

2.1.3 Define Columns	11

2.1.4 Define Attributes	12

2.1.5 "Table" Edit Mode	13

2.1.6 "Text" Edit Mode	13

2.1.7 View Html	14

2.1.8 View Text	14

2.1.9 Load Contents in System Clipboard	15

2.1.10 Import Examples	16

2.1.10.1 Statistic Data of China	16

2.1.10.2 Data of Regression	16

2.2 Row Expression	17

2.3 Row Filter	19

2.4 Modify	20

2.4.1 Set Values	20

2.4.2 Delete	21

2.4.3 Set styles / Mark Abnormal Values	22

2.4.4 Paste Content in System Clipboard	23

2.4.5 Paste Content in MyBox Clipboard	23

2.5 Trim	24

2.5.1 Copy/Filter/Query	24

2.5.2 Sort	25

2.5.3 Transpose	26

2.5.4 Normalization	27

2.6 Calculation	28

2.6.1 Row Expression	28

2.6.2 Descriptive Statistic	29

2.6.3 Group b Equal Values	30

2.6.4 Simple Linear Regression	33

2.6.4.1 Regression	33

2.6.4.2 Model	34

2.6.4.3 Fitted Chart	35

2.6.4.4 Residual Chart	36

2.6.5 Simple Linear Regression - Combination	37

2.6.6 Multiple Linear Regression	38

2.6.6.1 Regression	38

2.6.6.2 Model	39

2.6.7 Frequency Distributions	40

2.6.8 Values Percentage	41

2.7 Chart	42

2.7.1 XY Chart	42

2.7.1.1 Data	42

2.7.1.2 Bar Chart	43

2.7.1.3 Stacked Bar Chart	43

2.7.1.4 Line Chart	44

2.7.1.5 Scatter Chart	44

2.7.1.6 Bubble Chart	45

2.7.1.7 Area Chart	46

2.7.1.8 Stacked Area Chart	46

2.7.1.9 Parameters of Data in Chart	47

2.7.1.10 Layout	48

2.7.1.11 Category Axis	49

2.7.1.12 Number Axis	50

2.7.2 Pie Chart	51

2.7.3 Box-and-whisker Chart	52

2.7.4 Self Comparison Bars Chart	54

2.7.5 Comparison Bars Chart	56

2.8 Manage Data	58

2.9 Splice Data	59

2.10 Data File	60

2.10.1 CSV File	60

2.10.2 Text File	61

2.10.3 Excel File	62

2.10.4 Convert/Split Data Files in Batch	63

2.10.5 Merge Data Files	64

2.11 Data in System Clipboard	65

2.12 Data in MyBox Clipboard	66

2.13 Matrix	67

2.13.1 Edit and Manage Matrices	67

2.13.2 Unary Matrix Calculation	68

2.13.3 Binary Matrices Calculation	69

2.14 Database Tables	70

2.14.1 Manage Database Tables	70

2.14.2 Limitations of SQL Identifier	71

2.14.3 Database SQL	72

2.14.4 SQL Query	73

2.15 Export	74

2.16 Convert to Database Table	75

3 Calculation Tools	76

3.1 JShell(Java interactive coding tool)	76

3.2 JEXL(Java Expression Language)	78

3.3 Javascript	80

4 Data of Location	81

4.1 Data Constraints	81

4.1.1 Invalid Value	81

4.1.2 Coordinate System:	81

4.1.3 Coordinate Values	81

4.1.4 Time	81

4.1.4.1 Date Formats	81

4.1.4.2 Era	81

4.1.4.3 Examples	82

4.2 Data Operations	82

4.3 Map Data	83

4.4 Geography Code	85

4.4.1 Data Definition	85

4.4.2 Data Constraints	85

4.4.3 Edit Data	85

4.4.4 Define Condition	85

4.4.5 Import Data	85

4.4.5.1 Predefined Data	85

4.4.5.2 CSV Format	86

4.4.5.3 Data from geoname.org:	86

4.4.6 Settings	86

4.5 Location in Map	88

4.6 Location Data	89

4.6.1 Data Definition	89

4.6.2 Data constraints	89

4.6.3 Define Conditions	89

4.6.4 Map Data	89

4.6.5 Snapshots	90

4.6.6 Import Data	90

4.6.6.1 CSV Format	90

4.6.6.2 Data from movebank.org	90

4.6.6.3 Examples	90

4.7 Location Tools	92

4.8 Epidemic Reports	93

4.8.1 Data Definition	93

4.8.2 Data Constraints	93

4.8.3 Edit Data	93

4.8.4 Import Data	94

4.8.4.1 Predefined Data	94

4.8.4.2 CSV format:	94

4.8.4.3 COVID-19 historical data from Johns Hopkins University(Global) :	94

4.8.4.4 COVID-19 daily data from Johns Hopkins University(Global) :	94

4.8.4.5 Handle Data of Imported	94

4.8.5 Statistics Data	95

4.8.6 Define Conditions	95

4.8.7 Display Charts	95

4.8.8 Settings	96

5 Others	97

5.1 Create Barcodes	97

5.2 Decode Barcodes	97

5.3 Message Digest	97

5.4 Encode/Decode Base64	97

5.5 Extract ttf files from ttc file	97

Introduction

This is desktop application based on JavaFx to provide simple and easy functions. It's free and open sources.

Main Interface

Resources Addresses

Contents	Link
Project Main Page	https://github.com/Mararsh/MyBox/
Source Codes and Compiled Packages	https://github.com/Mararsh/MyBox/releases
Submit Software Requirements and Problem Reports	https://github.com/Mararsh/MyBox/issues
Data	https://github.com/Mararsh/MyBox_data
Documents	https://github.com/Mararsh/MyBox_documents
Mirror Site	https://sourceforge.net/projects/mara-mybox/files/
Cloud Storage	https://pan.baidu.com/s/1fWMRzym_jh075OCX0D8y8A#list/path=%2F

Documents

Name	Version	Time	English	Chinese
Development Logs	6.5.9	2022-8-31	html	html
Shortcuts	6.5.6	2022-6-11	html	html
Packing Steps	6.3.3	2020-9-27	html	html
Development Guide	2.1	2020-8-27	PDF	PDF
User Guide - Overview	6.5.9	2022-8-31	html PDF odt	html PDF odt
User Guide – Document Tools	6.5.9	2022-8-31	html PDF odt	html PDF odt
User Guide - Image Tools	6.5.9	2022-8-31	html PDF odt	html PDF odt
User Guide - File Tools	6.5.9	2022-8-31	html PDF odt	html PDF odt
User Guide - Network Tools	6.5.9	2022-8-31	html PDF odt	html PDF odt
User Guide - Data Tools	6.5.9	2022-8-31	html PDF odt	html PDF odt
User Guide - Media Tools	6.5.9	2022-8-31	html PDF odt	html PDF odt
User Guide - Development Tools	6.5.9	2022-8-31	html PDF odt	html PDF odt

Menu of Tools

Two-dimensional Data

Edit Data

Data Objects

Following objects can be edited in consistent way:

Data files, including CSV File, Excel file, texts file.

Data of MyBox Clipboard

Matrices

Database tables.

Data should be in same width. That is all rows have equal number of columns.

Data are paginated. When pages number is larger than 1, changes should be saved before run some functions.

When changed, * is displayed in tab header. And ** is displayed when modifications have not applied.

Click button "Save" to write modifications to file and database:

Changes of rows in "Table", including modify/add/delete/sort, affect rows of current page in file.

Changes in "Columns" tab, including modify/add/delete/sort, affect all rows in file.

Changes of attributes and columns are saved in database.

Click button "Recover" to discard all modifications and load data from file and database.

Functions Menu

Hover or click button “Functions” top pop Functions Menu.

Define Columns

Column names should not be null nor duplicated.

Data types are used to validate data values:

Invalid value is rejected when edit data.

Type is ignored when read or calculate data.

Data type affects sorting results.

Click button "OK" to apply it modifications to "Table".

Click button "Cancel" to discard its modifications and pick data from "Table".

Can rename all columns with sequence numbers.

Can set random colors.

Define Attributes

Data name, decimal scale, and maximum value of random.

"Table" Edit Mode

"Table" is the master edit mode:

Its modifications are applied to other panes automatically.

It is the final data to save.

"Text" Edit Mode

"Text" is the assist edit mode.

Click button "OK" to apply its modifications to "Table".

Click button "Cancel" to discard its modifications and pick data from "Table".

Click button "Delimiter" to pick data from "Table" and apply new delimiter while its modifications are discarded.

View Html

View data of current data.

Options: Form, Title, Column Names, Row Numbers.

View Text

View data of current data.

Options: Form, Title, Column Names, Row Numbers.

Set delimiter.

Load Contents in System Clipboard

Read and parse contents in system clipboard.

Guess delimiter automatically.

Delimiter can be chosen from special characters or inputted regular expression.

First row can be set as column names.

Import Examples

Statistic Data of China

Data of Regression

Row Expression

JavaScript expression can be data values when manufacture/trim/calculate data or generate chart:

If the script is blank, then return empty string.

Edit the script:

It can include any valid JavaScript elements.

It should return a value finally.

It can include following placeholders:

#{TableRowNumber}

#{DataRowNumber}

#{<column_name>}

#{<column_name>- }

When MyBox evaluates the expression:

Placeholders are replaced with actual values of each data row .

'#{xxx}' is handled as string while #{xxx} is handled as number.

When handles all pages, script fails when it includes “#{TableRowNumber}” .

Hover or click button “Examples” to paste example codes.

Hover or click button “Histories” to paste codes in histories.

Examples:

expression	meaning
#{DataRowNumber} % 2 == 0	data row number is even
#{TableRowNumber} % 2 == 1	odd rows in current page
Math.abs(#{v1}) + Math.PI * Math.sqrt(#{v2})	calculation
'#{v1}'.replace(/hello/ig, 'Hello')	replace all “hello”(case-insensitive) as “Hello” in column “v1”
'#{v1}'.toLowerCase()	lower case of value of column “v1”
'#{v1}'.split(‘,’)	split value of column “v1” by comma
#{v1} - #{v1-Mean}	difference between value of column “v1” and mean of column “v1”

Row Filter

“Row Filter” is special “Row Expression”, and can be condition to filter data rows.

It should return boolean value("true" or "false") finally.

Can set maximum rows.

Exmaples:

Expression	meaning
#{DataRowNumber} % 2 == 0	data row number is even
#{TableRowNumber} % 2 == 1	odd rows in current page
Math.abs(#{v1}) >= 0	value of column “v1” is number
#{v1}) > 0	value of column “v1” is larger than zero
#{v1} - #{v2} < 100	difference between values of “v1” and “v2” is less than 100
'#{v1}'.length > 0	value of column “v1” is not empty
'#{v1}'.search(/Hello/ig) >= 0	value of column “v1” includes “Hello”(case-insensitive)
'#{v1}'.startsWith(‘Hello’)	value of column “v1” starts with “Hello”
var array = [ ‘A’, ‘B’, ‘C’];array.includes(‘#{v1}’)	value of column “v1” is one of “A”, “B”, “C”
#{v1} < #{v1-Mean}	value of column “v1” is less than mean of column “v1”

Modify

Set Values

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Set values of selected data as following:

Constant：0, 1, blank, or inputted value

Random, random of non-negative

Add prefix, append suffix, set decimal scale, or add sequence numbers

When selected data are sqaure, whose rows number equals to columns number, they can be set as following: gaussian distribution, identify matrix, upper triangular matrix, lower triangular matrix.

Row expression

If handle all pages of data file, then auto-backup before set values.

Delete

Select data:

Rows can be: current page, selected rows, or all pages.

Set row filter.

Option: Whether continue when error.

If handle all pages of data file, then auto-backup before delete.

Set styles / Mark Abnormal Values

Add/Edit/Delete styles.

Define conditions to determine which data cells to apply the style:

Range of data rows

Column names.

Row filter.

Notice, data of a row number may be changed when some rows are added or deleted.

Example, when insert 2 rows before "row 6", original "row 12" becomes "row 14" while current "row 12" was "row 10".

So "row number" is not right way to locate a specific data row while rows number is changing.

A way to refer sepcial rows is the expression composed of column values.

Define style values:

Font color, font size, background color, bold, etc.

More values in format of JavaFx CSS.

Define title and sequence number of the style.

Set whether the style marks abnormal values.

All styles are applied to the data one by one in order of their sequence number.

Paste Content in System Clipboard

Paste Content in MyBox Clipboard

Trim

Copy/Filter/Query

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

When rows are current page or selected ones, target can be defined location in table to insert/append/replace.

Sort

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Calcuate:

Select the column to sort and whether descending.

Data type of column affects sorting results.

Maximum rows number of results can be set.

Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

When rows are current page or selected ones, target can be defined location in table to insert/append/replace.

Transpose

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Calcuate: Options to set first column as column names.

Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

When rows are current page or selected ones, target can be defined location in table to insert/append/replace.

Normalization

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Calcuate:

Accroding to: Columns/rows/all.

Algorithms: MinMax(Range can be set), sum(L1), ZScore(L2).

To non-numeric, skip or count as zero.

Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

When rows are current page or selected ones, target can be defined location in table to insert/append/replace.

Calculation

Row Expression

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Calcuate:

Input name of values.

Input row expression.

Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

When rows are current page or selected ones, target can be defined location in table to insert/append/replace.

Descriptive Statistic

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Calcuate:

Following values can be generated:

count, sum, mean, geometric mean, sum of squares, population variance, sample variance, population standard deviation, sample standard deviation, skewness, minimum(Q0), lower quartile(Q1), median(Q2), upper quartile(Q3), maximum(Q4), upper extreme outlier line(E4), upper mild outlier line(E3), lower mild outlier line(E2), lower extreme outlier line(E1), mode

Accroding to: Columns/rows/all.

Set decimal scale.

To non-numeric, skip or count as zero.

Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table, or defined location in table to insert/append/replace.

Group b Equal Values

Select data:

Rows can be: current page, selected rows, or all pages.

Set row filter.

Calcuate:

Select some columns as "group by". Need not be numbers.

Select some aggregate values to be calculated:

Like avarage, max, min, variance, standard deviation, etc.

"count" is always calcualted, and not in the list.

Multiple items can be selected. None selection is permitted.

Involved values should be numbers.

Select some values as "order by". Multiple items can be selected. None selection is permitted

Input maximum number of result rows. Blank/zero/negative means no limitation.

To invalid numbers, option to set as blank or zero.

Calculated groups and their aggregate values are displayed in XY chart.

Calculated groups and their count are displayed in Pie chart.

In charts:

If only one column in group, category values are values of this column.

If multiple columns in group, category values are names of groups.

Option to display all data in charts:

If yes, lots of data may cause out of memory.

If no, only current page of results are display in charts.

Data overflow may happen.

Simple Linear Regression

Regression

This tool is based on Apache Commons Math.

The regression does not store data, so calculation itself has not memory limitation when handle lots of rows.

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Calcuate:

Select one column as independent variable.

Select another column as dependent variable.

Option whether includes intercept.

Set decimal scale.

Display values status of regression steps in table, including number of observations, slope, intercept, coefficient of determination(R-Square), correlation coefficient(R), mean of squared error(MSE) , sum of squared errors(SSE), total sum of squares(SSTO), sum of squares about regression(SSM/SSR), etc.

Model

Display fitted liear model.

Display data status of last regression step.

Input value fo independent variable, and generate predicted value.

Fitted Chart

When handle all data rows(all pages), option to display all values in chart.

When display all values in chart, need concern memory limitation when load lots of data.

Or else only values in current page will be displayed in chart while all pages involve regression, and no memory limitation.

Set parameters of plot, X axis and Y axis.

Options to display fitted points, fitted line, or model description in chart.

Options to display data labels.

Set random colors to fitted points/line.

Fitted chart can be popped.

Html including fitted chart and its data can be created.

Display fitted chart's data in table.

Residual Chart

X axis can be set as: predicted value, independent varaible, or actual value.

Option whether standardize residuals.

When standardize residuals, upper line and lower line of Sigma2(95%) will be displayed.

Set random color to points and lines.

Display residual chart's data in table.

Simple Linear Regression - Combination

This tool helps to generate data of simple linear regression:

Select some columns.

Select options like decimal scale, alpha, whether include intercept.

When click button "OK":

Tool make pairs of columns and calculate their regression models.

Sort the modes by their coefficient of determination(R-Squre) in descending order.

Select one mode and click button "View" to view its regression data, fitting chart, and residual chart.

Multiple Linear Regression

Regression

This tool helps to generate data of multiple linear regression based on Apache Commons Math:

Select some column as independent variables, whose data should be numbers.

Select a column as dependent variable, whose data should be numbers.

Select whether include intercept.

Click button "OK":

Tool normalizes involved data by Z-Score.

Tool calculates multiple linear regression by Ordinary Least Squares(OLS).

Results include intercept, coefficients, R-Squre, adjusted R-Squre.

Model

User can input values of independent variables and predict value of dependent variable.

Frequency Distributions

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Calcuate:

Select one column to count frequency.

Option whether case-insensitive

Set decimal scale.

Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

Values Percentage

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Calcuate:

Accroding to: Columns/rows/all.

Select how to treat negative values: zero or absoluate value.

Set decimal scale.

To non-numeric, skip or count as zero.

Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

When rows are current page or selected ones, target can be defined location in table to insert/append/replace.

Chart

XY Chart

Data

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Calcuate:

Select one column as "Category Axis", to define data names..

Multiple columns can be selected as data in direction of "Number Axis". Different value series are shown in different colors or shapes.

To non-numeric, skip or count as zero.

When display all data rows(all pages), need concern memory limitation.

By default, "Category Axis" is the horizontal axis and "Number Axis" is the vertical axis.

Select type of XY Chart.

Click button “Menu” to set parameters of chart.

Click button “Pop” to display current chart as image in popped window.

Click button “Data” to display data of the chart in data table.

Click button “Html” to display data of the chart in html page.

Bar Chart

Represents data size with bars' heights.

"Category" column is always counted as strings.

Stacked Bar Chart

Represents data size with bars' heights.

"Category" column is always counted as strings.

Line Chart

Represents data trend with lines connecting points.

"Category" column can be counted as strings or numbers.

Scatter Chart

Represents data distribution with symbols.

"Category" column can be counted as strings or numbers.

Bubble Chart

Represents data size with circles of different radius：

"Category Column" and "Value Column" define coordinates of data.

Select several columns as "Size Columns" to defines data size.

All columns should be numbers. Size columns should be non-negative.

Area Chart

Represents data size with area size.

"Category" column is always counted as strings.

Stacked Area Chart

Represents data size with area size.

"Category" column is always counted as strings.

Parameters of Data in Chart

Options about label: not display, point, value, category, etc.

Location of labels.

Font size of labels.

Decimal scale.

Layout

Set parameters of plot: title, font size, location of legend, zero-lines, grid lines, line width, etc.

Category Axis

Set parameters of category axis: label, font size, location, tick, count values as string or number, coordinate, etc.

Number Axis

Set parameters of number axis: label, font, location, tick, coordinate, etc.

Pie Chart

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Calcuate:

Select one column as "Category Axis", to define data names..

Select another column as "Number Axis".

Data numbers are represented as percentages with a circle divided into segments.

Value column should be non-negative.

When display all data rows(all pages), need concern memory limitation.

Click button “Menu” to set parameters of chart.

Click button “Pop” to display current chart as image in popped window.

Click button “Data” to display data of the chart in data table.

Click button “Html” to display data of the chart in html page.

Box-and-whisker Chart

Box-and-whisker chart represents data distribution:

Sort data according to column/row/all in ascending order.

Following items can show aggregation and discreteness of data:

Minimum Q0 = in 0%(start) of the data list

Lower quartile Q1 = in 25% of the data list

Median Q2 = in 50%(middle) of the data list

Upper quartile Q3 = in 75% of the data list

Maximum Q4 = in 100%(end) of the data list

Following values can be used to mark ourliers of data:

Lower extreme outlier line E1 = Q1 - 3 * ( Q3 - Q1 )

Lower mild outlier line E2 = Q1 - 1.5 * ( Q3 - Q1 )

Upper mild outlier line E3 = Q3 + 1.5 * ( Q3 - Q1 )

Upper extreme outlier line E4 = Q3 + 3 * ( Q3 - Q1 )

Following values can be referred for discreteness:

Mean = avarage of the data list

Calcuate:

Based on line chart.

According to: columns, rows(select category column), or all.

Set or select:

Box width.

Whether display outliers lines or mean.

Whether display connection lines of values, and whether dotted lines.

Random colors.

Click button “Menu” to set parameters of chart.

Click button “Pop” to display current chart as image in popped window.

Click button “Data” to display data of the chart in data table.

Click button “Html” to display data of the chart in html page.

Self Comparison Bars Chart

Self comparison bars show difference between data and reference values.

Bars are calculated by following rulers:

If value is zero, no bar

When compare as absoluate values:

maximum_value = maximum_absolute_value_of_column/row/all

precentage = absolute_value / maximum_value

width = maximum_width * precentage

color = If value is larger than zero, color_of_column.

If value is less than zero, inverted_color_of_column

When compare as range of minimum and maximum:

maximum_value = maximum_value_of_column/row/all

minimum_value = minimum_value_of_column/row/all

precentage = (value - minimum_value) / (maximum_value - minimum_value)

width = maximum_width * precentage

color = color_of_column

Data: Select rows in table or select all data rows(all pages), and select columns.

Calcuate:

Select one column as category column(unnecessary)

Compare: columns/rows/all.

According to: absoluate values, or range of minimum and maximum.

When display all data rows(all pages), need concern memory limitation.

Set or select:

Maximum width

Whether display row numbers, values, percentages, categories, calculated values.

Edit data in chart.

Edit html of chart.

Comparison Bars Chart

Comparison bars show difference between two series of data.

Bars are calculated by following rulers:

If value is zero, no bar

When compare as absoluate values:

maximum_value = maximum_absolute_value_of_value_columns

precentage = absolute_value / maximum_value

width = maximum_width * precentage

color = If value is larger than zero, color_of_column.

If value is less than zero, inverted_color_of_column

When compare as range of minimum and maximum:

maximum_value = maximum_value_of_value_columns

minimum_value = minimum_value_of_value_columns

precentage = (value - minimum_value) / (maximum_value - minimum_value)

width = maximum_width * precentage

color = color_of_column

Data: Select rows in table or select all data rows(all pages), and select columns.

Calcuate:

Select one column as category column(unnecessary)

Select tow value columns

According to: absoluate values, or range of minimum and maximum.

When display all data rows(all pages), need concern memory limitation.

Set or select:

Maximum width

Whether display row numbers, values, percentages, categories, calculated values.

Edit data in chart.

Edit html of chart.

Manage Data

This tool manages following objects:

Data Files

Record is created/updated when csv/excel/texts data file is opened by its editor.

Data are saved in data file.

Deleting record of data file will not delete data file itself.

Data Clipboards

Record is created when data is copied into MyBox Clipboad.

Data are saved in file under MyBox internal path.

Deleting record of data clipboards will delete its internal file.

Matrices

Records are maintained by Matrices Manager.

Data are saved in MyBox database.

Deleting record of matrix will delete data of this matrix.

Data Tables

Records are maintained by Data Tables Manager.

Data are saved in MyBox database tables.

Deleting record of data table will delete data of this data table.

Splice Data

Select or open two data.

Select rows and columns from the two data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Options:

Direction: vertical, horizontal

Rows/Columns number by: Data A, Data B, longer, shorter.

Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.

Data File

CSV File

When file is loaded abnormally, change options and click Refresh button.

Options: charset, whether has first line as field names, and delimiter of data.

Text File

When file is loaded abnormally, change options and click Refresh button.

Options: charset, whether has first line as field names, and delimiter of data.

Excel File

Options include sheet number and whether has first line as field names.

Add/Delete/Rename sheets.

Tool can only handle base data in Excel file. If file includes format, style, formula, or chart, suggest to save changes as new file to avoid data loss.

Convert/Split Data Files in Batch

Source files' formats can be csv, excel, and text. Options of source files can be set.

Target files' formats include csv, text, excel, xml, json, html, pdf. Options of target files can be set.

Split files as maximum lines.

Merge Data Files

Set source format.

Set target format.

Data in System Clipboard

Read and parse contents in system clipboard.

Delimiter can be chosen from special characters or inputted regular expression.

First row can be set as column names.

Data in MyBox Clipboard

Matrix

Edit and Manage Matrices

Edit matrix.

Matrix can be saved and reused.

Unary Matrix Calculation

Transpose, Row Echelon Form, Reduced Row Echelon Form, Determinant By Elimination, Determinant By Complement Minor, Inverse Matrix By Elimination, Inverse Matrix By Adjoint, Matrix Rank, Adjoint Matrix, Complement Minor, Normalize, Multiply Number, Divide By Number, Power.

Binary Matrices Calculation

Plus, Minus, Hadamard Product, Kronecker Product, Horizontally Merge, Vertically Merge.

Database Tables

Manage Database Tables

View table definition.

Execute SQL.

Limitations of SQL Identifier

Table name and column names should satisfy "Limitations of SQL identifier":

Maximum length is 128.

"Ordinary identifier":

Not surrounded by double quotation marks.

Must begin with a letter.

Contains only letters, underscore characters (_), and digits.

Permits Unicode letters and digits.

Can not be reserved words.

It is converted as uppercase when saved in database.

It is case-insensitive when referred in SQL statement.

Example, AbC is same as abc and aBC.

"Delimited identifier":

Surrounded by double quotation marks.

Can contain any characters.

It is saved as string inside the double quotations in database.

It should be surrounded by double quotations when referred in SQL statement, except for following: It only includes upper case letters and underscores.

Example, "AbC" is different from AbC or "ABC" while "ABC" is same as ABC and abc.

After database table is created:

Definition of Primary keys can not be changed and deleted.

Definition of other columns can be added and deleted but can not be changed.

When MyBox create name of table/column:

Invalid characters are converted as underscore characters.

If it does not start with a letter, character "a" is added in front of it.

Database SQL

Provide examples of SQL statements.

List names of all user tables automatically.

View table definitions of all user tables.

Display outputs of execution and results of query.

SQL codes can be organized as information of tree.

Can load or save as external files.

SQL Query

Database table has a special function menu: “Functions” - “Trim” - “Query”, which can help to input and execute SQL query:

Names of table and columns are listed in left.

Provide examples and record histories.

Export

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Select targets and their formats: csv, texts, excel, xml, json, html, pdf, MyBox Clipboard.

Split files in maximum lines.

Convert to Database Table

Select data:

Rows can be: current page, selected rows, or all pages.

Select columns. If no column is selected, then all columns are taken.

Set row filter.

Create auto-increment column, or select some columns as primary key.

Option to import data.

Calculation Tools

JShell(Java interactive coding tool)

JShell is one of tools in JDK:

JShell provides capability to interactively evaluate "snippets", as Read-Eval-Print Loop (REPL).

"Snippet" is a single expression, statement, or declaration of Java programming language code:

Semicolons should be in the end of statement while expression need not it.

Variables and methods can be defined and called later.

Extrenal Java classes should be accessible:

JShell picks "CLASSPATH" of system environment.

Other jar files or paths can be appended to "CLASSPATH".

Except for base classes, most of Java classes should be imported before call them.

JShell can be used for scientific computation and Java codes debug.

This tool helps to run JShell in GUI:

Input several snippets and click button "Start" to run them:

Snippets are evaluated one by one.

Results of snippets will affect later snippets, like "an execution environment".

Attributes of all evaluated snippets will be shown in a table.

Click button "Delete" or "Clear" to drop some or all snippets from current environment.

Click button "Reset" to empty JShell and environment becomes blank.

Press "CTRL+1" to pop list of code completion suggestions.

If added MyBox class paths, all methods of MyBox can be referred.

JShell codes are organized in tree. Examples are provided.

JEXL(Java Expression Language)

JEXL(Java Expression Language) is a library to generate values dynamically with variables and scripts.

JEXL has different syntax from Java. It is more like javascript.

Before run expression/script, all variables in it should have values held by JexlContext.

Refer to Java classes by creating their instances as local variables. Full package name is required.

JEXL can be used for scientific computation and data manufacture.

This tool helps to run JEXL in GUI:

Input JEXL expression/script.

Notice: Use single quotes instead of double quotes to surround strings.

Input Java codes of setting JexlContext like following:

jexlContext.set("name", value);

Example, set following to use Math.PI in expression/script:

jexlContext.set("Math", Math.class);

Input parameters of JEXL script if any. Separate values by comma.

Click button "Start" to evaluate the expression/script.

MyBox does following in JShell enrionment automatically:

Add MyBox library paths to CLASSPATH.

Import necessary JEXL packages.

Execute codes of JexlContext.

Calculate expression/script with parameters(if any).

If all variables and paramters have valid values, result is shown in right pane.

JEXL codes are organized in tree. Examples are provided.

Javascript

This tool helps to edit, run, save Javascript codes.

Javascript codes are organized in tree. Examples are provided.

Data of Location

Data Constraints

Invalid Value

Null value of integer/long/short is the minimum value(MIN_VALUE)

Null value of double is the maximum value(Double.MAX_VALUE)

Coordinate System:

CGCS2000(China Geodetic Coordinate System), real locations and approximate to WGS-84(GPS).

GCJ-02(China encrypted coordinate), encrypted data with offsets of real locations.

WGS-84(GPS), real locations.

BD-09(Baidu encryted coordinate), based on GCJ-02.

Mapbar coordinate, based on GCJ-02.

When coordinate is unknown or invalid, the default value is CGCS2000.

Coordinate Values

Decimal values of longitude and latitude, instead of Degrees Minutes Seconds(DMS), are used when data handled.

MyBox provides "Location Tools" to convert coordinate values between decimal and DMS.

Valid range of longitude is `-180~180`, and valid range of latitude is `-90~90`.

Time

Date Formats

Date and Time, like: 2014-06-11 13:51:33

Date, like: 2014-06-11

Year, like: 2014

Month, like: 2014-06

Time, like: 13:51:33

Time with Milliseconds, like: 13:51:33.261

Date and Time with Milliseconds, like: 2014-06-11 13:51:33.261

Date and Time with zone, like: 2020-09-27 12:29:29 +0800

Date and Time with Milliseconds and zone, like: 2020-09-27 12:29:29.713 +0800

"T" can be written or omitted between date and time. "2014-06-11T13:51:33" equals to "2014-06-11 13:51:33".

Era

"0 AD" = "1 BC" = "0" = "-0" = "0000" = "-0000" = "0001-01-01 00:00:00 BC" = "公元前1" = "公元前0001-01-01 00:00:00"

"1 AD" = "1" = "0001" = "0001-01-01 00:00:00" = "0001-01-01 00:00:00 AD" = "公元1" = "公元0001-01-01 00:00:00"

"202 BC" = "-203" = "-0203" = "-0203-01-01 00:00:00" = "0202-01-01 00:00:00 BC" = "公元前202" = "公元前0202-01-01 00:00:00"

"202 AD" = "202" = "0202" = "0202-01-01 00:00:00" = "0202-01-01 00:00:00 AD" = "公元202" = "公元0202-01-01 00:00:00"

Examples

2020-07-13 11:30:59

-2020-07-13 11:30:59

-581-01-23

960

公元960

公元前770-12-11

公元前1046-03-10 10:10:10

202 BC

960-01-23 AD

1046-03-10 10:10:10 BC

Data Operations

Add/Delete/Edit/Copy/Clear/Refresh data.

Query data:

Define and manage query conditions.

Current query conditions is displayed on tab "information".

Data satisfying current query condition are displayed in tab "Data" in pages.

Data rows can be displayed in different colors as values of some column.

Import data in csv format:

File encoding is UTF-8 or ASCII.

The first line defines data headers which are delimited by English commas.

Followed each line defines one data row. Data fields are delimited by English commas.

The order of fields is not cared.

Necessary fields must occupy their locations, but need not have valid values(related to data).

Select whether replace existed data. Predefined data or example data always replace existed values.

Export data:

Define and manage export conditions.

Export data fields can be selected.

Export file format can be selected: csv, xml, json, xlsx, html, pdf.

Select maximum lines to split files.

Can export current data page.

Delete/Clear data:

Define and manage delete conditions.

Predefined data can not be deleted.

Referred data(like foreign keys) can not be deleted.

Define, manage, and use "Conditions":

"Conditions" are used to execute querying, deleting, or exporting.

Set conditions in panes:

Data conditions are organized as trees. Multiple nodes can be selected.

Multiple data fields can be selected as sorting conditions, and their orders can be changed.

Edit condition: Title, where, order by, fetch. They will be merged as final conditon.

Manage conditons: Add/delete/edit/copy.

Conditions ever executed are saved automatically.

Recently visited conditions are listed in pop window of the buttons.

Map Data

Kinds of data can be presented in map, including Geography Codes, Location Data, and Coordinate Querying.

Data in map can be:

All data which satisfy current query condition. "Maximum number of data" can be set to avoid performance issues.

Data in current page.

TianDiTu:

Accepts coordinates of CGCS2000 and display them at correct locations without offsets.

When display other coordinates, MyBox converts them to CGCS2000 to show correct locations.

Projection can be selected: EPSG:900913/3857(Web Mercator) or EPSG:4326(Geodetic).

Controls can selected: Zoom, Scale, Map Type, Symbols.

Map Types: Standard, Satellite, Mixed Satellite, Terrain, Mixed Terrain.

Languages in different regions.

Range of map levels is 1-18.

GaoDe Map:

Accepts coordinates of GCJ-02 and display them at correct locations without offsets.

When display other coordinates, MyBox converts them to GCJ-02 to show correct locations.

Projection is EPSG:900913/3857(Web Mercator).

Map layers:

Can select multiples: standard, satellite, roadnet, traffic.

Roadnet layer and traffic layer are only supported for China.

Satellite layer is supported for part of foreign addresses.

Opacity can be set for each map layer.

Map language: Chinese, English, Chinese and English.

Range of map levels is 3-18

Can selected "Fit View" to adjust map level and center as best automatically while display all data.

Adjust map level by:

Scroll mouse wheel.

Click map controls.

Select "Map Size"

Marker image:

Selections: point(bubble), circle, or any image.

For Location Data, more selections: Data Set Image, Data Image. Point will be used if no valid value.

Size can be set(Same size for width and height)

Marker text：

Selections: Label, Coordinate, Address.

For Location Data, more selections: Start Time, End Time, Data Value, etc.

Multiples selections can be picked. Each selection will be showns in a line.

Size can be set.

Can select whether text is bold.

Color can be set. For Location Data, "Data Color" can be chosen.

Pop information:

Detailed information can be popped when mouse is upon marker.

Can select whether pop information.

Snapshot:

DPI can be set.

Current map and data in map can be saved and displayed in html.

Keys of map can be changed in "Settings". The default keys are free and shared by all MyBox users.

Geography Code

Data Definition

Basical attributes: id, level, longitude, latitude, chinese_name, english_name, 5 codes, 5 aliases,

Subordinate: owner, continent, country, province, city, county, town, village, building. ("Ancestors")

Auxiliary attributes: altitute, precision, coordinate system, area(square meters), population, comments, isPredefined.

Data Constraints

Not null values: id, level, chinese_name or english_name.

Values of "level": global(only "Earth"), continent, country, province(state), city, county(district), town, village(neighborhood), building, point of interest.

Data is unnecessary to be subordinated level by level. Cross-over can happen. Example, a village is subordinated to Antarctica, and a city belongs to a country without province level.

Match data:

One of following can determine an address:

Match “id"(assigned by MyBox automatically). This is accurate matching.

Match "level" + ancestors + "chinese_name"/"english_name"/any one "alias". This is accurate matching.

Match "level" + "chinese_name"/"english_name"/any one "alias". This is fuzzy matching. Duplicated names in same level can cause false matching.

Matching of name or alias is case-insensitive.

Sometimes 5 "code" are useful to match data.

Edit Data

"subordinate" of data is set by selecting node in locations tree.

"level" of data should be lower than its ancestors.

Data must have either chinese_name or english_name.

Select or display coordinate in map.

Set as "Predefined data" or "Inputted data" against selected rows.

Define Condition

All geograhy codes in MyBox are organized as a Locations Tree by their subordination relationship. Multiple nodes can be selected.

Import Data

Predefined Data

Include continents, countries, Chinese provinces /cities /counties.

Countries have values of "area" and "population".

CSV Format

Download address:

https://github.com/Mararsh/MyBox_data/tree/master/md/GeographyCode/en

Necessary fields:

Level,Longitude,Latitude

And "Chinese Name" or "English Name"

Optional fields:

Altitude,Precision,Coordinate System,Square Kilometers,Population,

Code 1,Code 2,Code 3,Code 4,Code 5,Alias 1,Alias 2,Alias 3,Alias 4,Alias 5,

Continent,Country,Province,City,County,Town,Village,Building,Comments

Data from geoname.org:

Download address:

http://download.geonames.org/export/zip/

Tab-delimited text in UTF8 encoding.

Data fields：

countryCode postalCode placeName

adminName1 adminCode1 adminName2 adminCode2 adminName3 adminCode3

latitude longitude accuracy

Coordinate system is WGS_84.

Same address is written only once even when it has multiple "postal code" or coordinates.

Settings

Customize colors of data rows.

Provide "Default" and "Random" buttons.

Location in Map

Query geography code by:

Click map.

Input address.

TianDiTu supports chinese and foreign addresses in Chinese(like "伦敦") or in English(like "Paris")

GaoDe map only supports addresses in China.

Input longitude and latitude.

Query result can be saved in Geography Code table.

Location Data

Data Definition

Basical attributes: data set, label, longitude, latitude, start time, end time.

Auxiliary attributes: altitute, precision, coordinate system, speed, direction, data value, data size, image, comments.

Data constraints

Each location data belongs to a data set.

Data set defines common attributes of some location data, examples:

Date format

Whether omit "AD" for date AD

Text color

Image

These attributes help to distinguish data points in map.

Define Conditions

List of data sets. Multiple nodes can be selected.

Time tree(Start time). Multiple nodes can be selected.

Map Data

At beginning, the first data is made as map center.

Location Distribution: All data are displayed in map.

Time Sequence:

Data are displayed in frames as "Start Time" in ascending order.

When "Accumulated" is selected, drawn points will not be erased and points are shown more and more.

When "Time Overlay" is selected, all data whose duration(between "start time" and "end time") has intersection with duration of current frame will be treated as valid points of current frame.

Example, current frame has "start time" of "1044 BC" and "end time" of "221 BC", then all data who or part of who appears in this duration will be displayed in current frame.

When "Move Center" is selected, each frame will adjust its map center.

When "Link" is selected, lines between adjacent 2 points will be shown.

Control frames:

Set interval.

Select a frame(by start time).

Pause/Continue playing.

Previous/Next frame.

Whether loop.

Snapshots

For "Location Distribution":

html:Data and snapshot of current frame

Snapshot of current frame. All supported image formats can be selected.

For "Time Sequence", more choices:

jpg:Snapshots of all frames

png:Snapshots of all frames

Animated gif:Snapshots of all frames(May out of memory)

Import Data

If data include a dataset which is not in database, the new dataset will be added in database automatically.

CSV Format

Necessary fields: Dataset,Longitude,Latitude

Optional fields: Label,Address,Altitude,Precision,Speed,Direction,Coordinate System, Data Value,Data Size,Start Time,End Time,Image,Comments

Data from movebank.org

Download address:

https://www.datarepository.movebank.org/

Comma-delimited CSV file.

Necessary fields: timestamp,location-long,location-lat,study-name

Coordinate system is WGS_84.

Examples

Chinese Historical Capitals

Autumn movement patterns of European Gadwalls

Sperm whales Gulf of Mexico

Location Tools

Convert coordinate value between decimal and DMS. Valid examples of DMS:

48°51'12.28"

-77° 3' 43.9308"

48°51'12.28"N

2°20'55.68"E

S 34° 36' 13.4028"

W 58° 22' 53.7348"

118度48分54.152秒

-32度04分10.461秒

东经118度48分54.152秒

北纬32度04分10.461秒

西经118度48分54.152秒

南纬32度04分10.461秒

Convert coordinate values as other coordinate systems.

Epidemic Reports

Data Definition

Basical attributes: dataSet, time, location, source.

Basical values: confirmed, healed, dead.

Subtraction statistic: increased confirmed, increased healed, increased dead.

Calculated by adjacent rows.

Division statistics:

healed/confirmed permillage, dead/confirmed permillage

confirmed/population permillage, healed/population permillage, dead/population permillage,

confirmed/area permillage, healed/area permillage, dead/area permillage.

When value of "area"/"population" of location is invalid(zero or negitive), corresponding statistics data are meaningless.

Predefined data "countries" have valid "area"/"population" and they have meaningful statistics values.

Accumulation statistics:

Values of some countries. Calculated by values of country's provinces.

Values of continents. Calculated by values of continent's countries.

Values of Earth. Calculated by values of continents.

Data Constraints

Not null values: dataSet, time, location

Values of "source": "Inputted data", "Predefined data", "Filled data", "Statistics data".

"location" is foreign key of "Geography Code", which must have row defined in that table.

In "confirm", "healed", "dead", at least one should be larger than zero.

One of following can determine a data row:

Match id, which is assigned by MyBox automatically. This is accurate matching.

Match "dataSet" + "date" + "location". This is accurate matching.

This version assumes that only one valid data in each day for same dataSet plus same location.

Edit Data

When in single data, location is set by selecting node from locations tree.

In interface of "Epidemic Reports of Chinese Provinces" or "Epidemic Reports of Countries", multiple rows can be inputted for same dataSet and time.

Modify values of "source" for selected data rows.

Import Data

Predefined Data

COVID-19 historical data from Johns Hopkins University.(Till 2020-09-24)

CSV format:

Download address:

https://github.com/Mararsh/MyBox_data/tree/master/md/COVID19/en

Necessary fields: Data Set,Time,Confirmed,Healed,Dead,

And location data which are enough to define a geography code: Longitude,Latitude,Level,Continent,Country,Province,City,County,Town,Village,Building,Point of Interest

Optional fields: Increased Confirmed,Increased Healed,Increased Dead

Coordinate system is CGCS2000.

COVID-19 historical data from Johns Hopkins University(Global) :

Download address:

https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_time_series

Necessary fields: Province/State,Country/Region,Lat,Long.

And date list like "1/22/20,1/23/20..."

Coordinate system is WGS_84.

Australia, Canada and China are reported at the province/state level, and others are at country level.

Items whose values are all zero will be skipped.

COVID-19 daily data from Johns Hopkins University(Global) :

Download address:

https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_daily_reports

Data fields are change as time flowing...

Following is format of "01-22-2020.csv":

Province/State,Country/Region,Last Update,Confirmed,Deaths,Recovered

Following is format of "05-15-2020.csv":

FIPS,Admin2, Province_State,Country_Region, Last_Update,Lat,Long_,

Confirmed, Deaths, Recovered,Active, Combined_Key

Coordinate system is WGS_84.

Items whose values are all zero will be skipped.

Handle Data of Imported

Option: Statistics against dataset.

Time of all data are changed as “23:59:00”.

If data include a geography code which is not in database, the new geography code will be added in database automatically.

Statistics Data

Option to accumulate date

Option to calculate subtraction statistic for different location levels.

Define Conditions

Data Sources Tree: Data sets and their different sources are organized a tree. Multiple nodes can be selected.

Locations Tree: All geograhy codes in MyBox are organized as a tree by their subordination relationship. Multiple nodes can be selected.

Times Tree: All times involved in Epidemic Reports of MyBox are organized as a tree. Multiple nodes can be selected.

Number of Top Data in Each Day:

Unlimit. Charts will not be displayed. Data are queried as condition.

Valid value:

Data are queried as condition, and then be truncated as top data of each day, by which charts and data are displayed.

"Time Descending" is always as the first ordering element automactically.

At least one more column should be picked as ordering element.

Beside "Time Descending", the first ordering element is called "major quering attribute".

Number of Top Data in Each Day" and "Elements of ordering" work for Query and Export, and not for Clear.

Edit condition: title, where, order by, fetch, "Number of Top Data in Each Day"(0 or -1 means Unlimit), which are combined together as the final condition.

Display Charts

Only when query condition satisfies requirements, charts are displayed. Charts' data are always "Daily top data" and have "Major query attribute".

Beside "Major query attribute" , more attribues can be selected, to display multiple dimension data in same chart, or show multiple charts at same time.

Chart type: horizontal bars, vertical bars, horizontal lines, vertical lines, pie, map.

When there are multiple times in data，charts are animated. Data charts of each time are displayed frame by frame in time ascending.

For animated charts, support Pause/Continue, Jump to frame of a time, Last frame, Next frame, setting interval.

Common settings, which take effect immediately：

Legend location: not display, top, bottom, left, right.

Value's label: name and value, value, name, not display, pop

Whether display: category axis, horizontal grid lines, vertical grid lines

Number axis: Cartesian Cordinate, Square Root Cordinate, Logarithmic E Cordinate, Logarithmic 10 Cordinate.

Font size

Parameters of map: level, layers, language

Snap chart.

Snapshot of current frame. All supported image formats can be selected.

jpg:Snapshots of all frames

png:Snapshots of all frames

Animated gif:Snapshots of all frames(May out of memory)

Settings

Snap dpi, maximum width of snapped animated images, time to loading chart's data.

These parameters are related to memory usage and computer's calculation capacity.

Customize colors of data rows as column "source". Provide "Default" and "Random" buttons.

Customize colors of data values in charts. Provide "Default" and "Random" buttons.

Customize colors of location values in charts. Provide "Random" buttons.

Others

Create Barcodes

Supported 1-d barcodes:

Types: Code39, Code128, Codabar, Interleaved2Of5, ITF_14, POSTNET, EAN13, EAN8, EAN_128, UPCA, UPCE, Royal_Mail_Customer_Barcode, USPS_Intelligent_Mail

Options about 1-d barcodes: Orientation, width/height, dpi, text location, font size, quiet-zone width, etc.

Supported 2-d barcodes:

Types: QR_Code, PDF_417, DataMatrix

Options about 2-d barcodes: Width/height, margin, error correction level, compact mode, etc.

A picture can be shown in center of QR_Code. Its size can be adjusted automatically according to error correction level.

Examples of parameters and suggested values.

Validate generated barcode at once.

Decode Barcodes

Supported 1-d barcodes: Code39, Code128, Interleaved2Of5, ITF_14, EAN13, EAN8, EAN_128, UPCA, UPCE

Supported 2-d barcodes: QR_Code, PDF_417, DataMatrix

Display contents of barcodes and its meta data including barcode type and error correction level if any.

Message Digest

Create digest for files or inputted texts.

Support MD2, MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512/224, SHA-512/256, SHA3-224, SHA3-256, SHA3-384, SHA3-512.

Ouput: Base64, Hexadecimal, Formatted hexadecimal.

Encode/Decode Base64

Encode file or texts as Base64.

Decode Base64 file or Base64 texts.

Set charset for texts.

Output as file or texts.

Extract ttf files from ttc file

<End of Document>