Here is a brute force approach.
getBinary[filename_] := Module[{data},
(* Imports a specific kind of binary Fortran output file *)
(* Import data as a list of ascii codes *)
data = Import[filename, "Binary"];
(* Keep only desired characters *)
data = Select[data,
# == 32 || # == 40 || # == 45 || # == 46 || 48 <= # <= 57 || 65 <= # <= 90 || 97 <= # <= 122 &];
(* Change "(" to "},{" pair *)
data = Flatten[data /. 40 -> {125, 44, 123}];
(* Convert to character *)
data = FromCharacterCode[#] & /@ data;
(* Add beginning and ending curly brackets *)
data = StringJoin[Flatten[{{"{{"}, data, {"}}"}}]];
(* Get rid of extra spaces *)
data = StringReplace[data, " " -> ""];
data = StringReplace[data, " }" -> "}"];
(* Convert remaining spaces into commas *)
data = StringReplace[data, " " -> ","];
(* Remove empty lists *)
data = StringReplace[data, ",{}" -> ""];
(* Change minuses before commas *)
data = StringReplace[data, "-," -> "minus,"];
(* Convert to an expression *)
data = ToExpression[data];
(* Remove first and last element *)
data[[2 ;; Length[data] - 1]]]
getBinary["kLG_1.data"]
Resulting in the following:
(* {{0.123, 0.313, 0.427, 0, GP1, 1, 2, GP, 0},
{0.123, 0.313, 0.427, 0, -GP2, 1, 2, GP, 0},
{0.5, 0.5, 0.5, 1, R1, 1, 2, R, 1},
{0.5, 0.5, 0.5, 1, -R2, 1, 2, R, 1},
{0, 0.5, 0.5, 1, T1, 1, 2, T, 1},
{0, 0.5, 0.5, 1, -T2, 1, 2, T, 1},
{0.5, 0, 0.5, 1, U1, 1, 2, U, 1},
{0.5, 0, 0.5, 1, -U2, 1, 2, U, 1},
{0.5, 0.5, 0, 1, V1, 1, 2, V, 1},
{0.5, 0.5, 0, 1, -V2, 1, 2, V, 1},
{0.5, 0, 0, 1, X1, 1, 2, X, 1},
{0.5, 0, 0, 1, -X2, 1, 2, X, 1},
{0, 0.5, 0, 1, Y1, 1, 2, Y, 1},
{0, 0.5, 0, 1, -Y2, 1, 2, Y, 1},
{0, 0, 0.5, 1, Z1, 1, 2, Z, 1},
{0, 0, 0.5, 1, -Z2, 1, 2, Z, 1},
{0, 0, 0, 1, GM1, 1, 2, GM, 1},
{0, 0, 0, 1, -GM2, 1, 2, GM, 1}} *)